VirtualBox

Changeset 9145 in vbox


Ignore:
Timestamp:
May 27, 2008 8:36:18 AM (17 years ago)
Author:
vboxsync
Message:

More 64 bits guest updates

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r9142 r9145  
    803803#
    804804ifeq ($(KBUILD_TARGET_ARCH),amd64)
    805  ARCH_BITS_DEFS := HC_ARCH_BITS=64 GC_ARCH_BITS=32
     805 ARCH_BITS_DEFS := HC_ARCH_BITS=64
    806806else ifeq ($(KBUILD_TARGET_ARCH),x86)
    807  ARCH_BITS_DEFS := HC_ARCH_BITS=32 GC_ARCH_BITS=32
     807 ARCH_BITS_DEFS := HC_ARCH_BITS=32
    808808else
    809809 error KBUILD_TARGET_ARCH=$(KBUILD_TARGET_ARCH)
    810810endif
     811
     812ifdef VBOX_WITH_64_BITS_GUESTS
     813 GCARCH_BITS_DEFS := GC_ARCH_BITS=64
     814else
     815 GCARCH_BITS_DEFS := GC_ARCH_BITS=32
     816endif
     817ARCH_BITS_DEFS += $(GCARCH_BITS_DEFS)
    811818
    812819#
     
    25662573TEMPLATE_VBOXW32GUESTR3_BLD_TRG_ARCH        = x86
    25672574TEMPLATE_VBOXW32GUESTR3_BLD_TRG_CPU         = i386
    2568 TEMPLATE_VBOXW32GUESTR3_DEFS                = IN_GUEST IN_GUEST_R3 IN_RING3 IN_RT_R3 __WIN32__ __WIN__ HC_ARCH_BITS=32 GC_ARCH_BITS=32
     2575TEMPLATE_VBOXW32GUESTR3_DEFS                = IN_GUEST IN_GUEST_R3 IN_RING3 IN_RT_R3 __WIN32__ __WIN__ HC_ARCH_BITS=32 $(GCARCH_BITS_DEFS)
    25692576TEMPLATE_VBOXW32GUESTR3_RCDEFS              = \
    25702577        VBOX_VERSION_MAJOR=\"$(VBOX_VERSION_MAJOR)\" \
     
    26392646TEMPLATE_VBOXW32GUESTR0_BLD_TRG_ARCH        = x86
    26402647TEMPLATE_VBOXW32GUESTR0_BLD_TRG_CPU         = i386
    2641 TEMPLATE_VBOXW32GUESTR0_DEFS                = _X86_ IN_GUEST IN_GUEST_R0 IN_RING0 IN_RT_R0 __WIN32__ __WIN__ HC_ARCH_BITS=32 GC_ARCH_BITS=32
     2648TEMPLATE_VBOXW32GUESTR0_DEFS                = _X86_ IN_GUEST IN_GUEST_R0 IN_RING0 IN_RT_R0 __WIN32__ __WIN__ HC_ARCH_BITS=32 $(GCARCH_BITS_DEFS)
    26422649TEMPLATE_VBOXW32GUESTR0_RCDEFS              = \
    26432650        VBOX_VERSION_MAJOR=\"$(VBOX_VERSION_MAJOR)\" \
     
    27592766TEMPLATE_VBOXGUESTR3EXE_DEFS     := IN_GUEST IN_GUEST_R3 IN_RT_R3 \
    27602767                                    $(filter-out $(ARCH_BITS_DEFS),$(TEMPLATE_VBOXR3EXE_DEFS)) \
    2761                                     HC_ARCH_BITS=32 GC_ARCH_BITS=32
     2768                                    HC_ARCH_BITS=32 $(GCARCH_BITS_DEFS)
    27622769if1of ($(KBUILD_TARGET),l4 linux) # As few libs as possible on linux.
    27632770 TEMPLATE_VBOXGUESTR3EXE_LIBS     = pthread rt m
     
    28652872TEMPLATE_VBOXGUESTR0_SDKS.win.amd64 = W2K3DDK WINPSDKINCS
    28662873ifn1of ($(KBUILD_TARGET),l4 linux) # must be same as the host.
    2867  TEMPLATE_VBOXGUESTR0_DEFS      = $(filter-out $(ARCH_BITS_DEFS),$(TEMPLATE_VBOXR0DRV_DEFS)) IN_GUEST IN_GUEST_R0 HC_ARCH_BITS=32 GC_ARCH_BITS=32
     2874 TEMPLATE_VBOXGUESTR0_DEFS      = $(filter-out $(ARCH_BITS_DEFS),$(TEMPLATE_VBOXR0DRV_DEFS)) IN_GUEST IN_GUEST_R0 HC_ARCH_BITS=32 $(GCARCH_BITS_DEFS)
    28682875 TEMPLATE_VBOXGUESTR0_BLD_TRG_ARCH = x86
    28692876 TEMPLATE_VBOXGUESTR0_BLD_TRG_CPU = blend
  • trunk/include/iprt/asmdefs.mac

    r8260 r9145  
    502502;; @def RTGCPHYS_DEF
    503503; The pesudo-instruction used to declare an initialized guest physical address.
    504 %define RTGCPHYS_DEF    dd
     504%define RTGCPHYS_DEF    dq
    505505
    506506;; @def RTGCPTR_RES
    507507; The pesudo-instruction used to declare (=reserve space for) an uninitialized
    508508; guest physical address variable
    509 %define RTGCPHYS_RES    resd
     509%define RTGCPHYS_RES    resq
    510510
    511511;; @def RTGCPTR_PRE
    512512; The memory operand prefix used for a guest physical address.
    513 %define RTGCPHYS_PRE    dword
     513%define RTGCPHYS_PRE    qword
    514514
    515515;; @def RTGCPHYS_CB
    516516; The size in bytes of a guest physical address.
    517 %define RTGCPHYS_CB     4
     517%define RTGCPHYS_CB     8
    518518
    519519
  • trunk/include/iprt/cdefs.h

    r8614 r9145  
    167167
    168168/** @def HC_ARCH_BITS
    169  * Defines the host architechture bit count.
     169 * Defines the host architecture bit count.
    170170 */
    171171#if !defined(HC_ARCH_BITS) || defined(DOXYGEN_RUNNING)
     
    178178
    179179/** @def R3_ARCH_BITS
    180  * Defines the host ring-3 architechture bit count.
     180 * Defines the host ring-3 architecture bit count.
    181181 */
    182182#if !defined(R3_ARCH_BITS) || defined(DOXYGEN_RUNNING)
     
    189189
    190190/** @def R0_ARCH_BITS
    191  * Defines the host ring-0 architechture bit count.
     191 * Defines the host ring-0 architecture bit count.
    192192 */
    193193#if !defined(R0_ARCH_BITS) || defined(DOXYGEN_RUNNING)
     
    200200
    201201/** @def GC_ARCH_BITS
    202  * Defines the guest architechture bit count.
     202 * Defines the guest architecture bit count.
    203203 */
    204204#if !defined(GC_ARCH_BITS) || defined(DOXYGEN_RUNNING)
  • trunk/include/iprt/types.h

    r8924 r9145  
    804804#define NIL_RTGCPHYS64     (~(RTGCPHYS64)0)
    805805
    806 /** Guest context pointer.
    807  * Keep in mind that this type is an unsigned integer in
    808  * HC and void pointer in GC.
    809  */
    810 #ifdef IN_GC
    811 typedef void           *RTGCPTR;
    812 #else
    813 typedef RTGCUINTPTR     RTGCPTR;
    814 #endif
    815 /** Pointer to a guest context pointer. */
    816 typedef RTGCPTR        *PRTGCPTR;
    817 /** Pointer to a const guest context pointer. */
    818 typedef const RTGCPTR  *PCRTGCPTR;
    819 /** @def NIL_RTGCPTR
    820  * NIL GC pointer.
    821  */
    822 #define NIL_RTGCPTR     ((RTGCPTR)0)
    823 
    824806/** Guest context pointer, 32 bits.
    825807 * Keep in mind that this type is an unsigned integer in
     
    852834#define NIL_RTGCPTR64   ((RTGCPTR64)0)
    853835
     836/** Guest context pointer.
     837 * Keep in mind that this type is an unsigned integer in
     838 * HC and void pointer in GC.
     839 */
     840#if GC_ARCH_BITS == 64
     841typedef RTGCPTR64       RTGCPTR;
     842/** Pointer to a guest context pointer. */
     843typedef PRTGCPTR64      PRTGCPTR;
     844/** Pointer to a const guest context pointer. */
     845typedef PCRTGCPTR64    PCRTGCPTR;
     846/** @def NIL_RTGCPTR
     847 * NIL GC pointer.
     848 */
     849#define NIL_RTGCPTR     NIL_RTGCPTR64
     850#elif GC_ARCH_BITS == 32
     851typedef RTGCPTR32       RTGCPTR;
     852/** Pointer to a guest context pointer. */
     853typedef PRTGCPTR32      PRTGCPTR;
     854/** Pointer to a const guest context pointer. */
     855typedef PCRTGCPTR32    PCRTGCPTR;
     856/** @def NIL_RTGCPTR
     857 * NIL GC pointer.
     858 */
     859#define NIL_RTGCPTR     NIL_RTGCPTR32
     860#else
     861# error "Unsupported GC_ARCH_BITS!"
     862#endif
     863
    854864/** Unsigned integer register in the guest context. */
    855 #if GC_ARCH_BITS == 32
     865#if GC_ARCH_BITS == 64
     866typedef uint64_t            RTGCUINTREG;
     867#elif GC_ARCH_BITS == 32
    856868typedef uint32_t            RTGCUINTREG;
    857 #elif GC_ARCH_BITS == 64
    858 typedef uint64_t            RTGCUINTREG;
    859869#else
    860870# error "Unsupported GC_ARCH_BITS!"
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette