Changeset 45618 in vbox for trunk/include/VBox
- Timestamp:
- Apr 18, 2013 6:41:07 PM (12 years ago)
- Location:
- trunk/include/VBox
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/err.h
r45474 r45618 1948 1948 /** Unsupported CPU feature combination. */ 1949 1949 #define VERR_HM_UNSUPPORTED_CPU_FEATURE_COMBO (-4112) 1950 /** Internal processing error \#3 in the HM code. */ 1951 #define VERR_HM_IPE_3 (-4113) 1952 /** Internal processing error \#3 in the HM code. */ 1953 #define VERR_HM_IPE_4 (-4114) 1954 /** Internal processing error \#3 in the HM code. */ 1955 #define VERR_HM_IPE_5 (-4115) 1950 1956 /** @} */ 1951 1957 -
trunk/include/VBox/vmm/hm.h
r44373 r45618 44 44 * @returns 0 - disabled, 1 - enabled 45 45 * @param a_pVM Pointer to the shared VM structure. 46 * @sa HMIsEnabledNotMacro, HMR3IsEnabled 46 47 * @internal 47 48 */ 48 #define HMIsEnabled(a_pVM) ((a_pVM)->fHMEnabled) 49 #if defined(VBOX_STRICT) && defined(IN_RING3) 50 # define HMIsEnabled(a_pVM) HMIsEnabledNotMacro(a_pVM) 51 #else 52 # define HMIsEnabled(a_pVM) ((a_pVM)->fHMEnabled) 53 #endif 49 54 50 55 /** … … 66 71 #define HMCanEmulateIoBlockEx(a_pCtx) (!CPUMIsGuestInPagedProtectedModeEx(a_pCtx)) 67 72 73 VMMDECL(bool) HMIsEnabledNotMacro(PVM pVM); 68 74 VMM_INT_DECL(int) HMInvalidatePage(PVMCPU pVCpu, RTGCPTR GCVirt); 69 75 VMM_INT_DECL(bool) HMHasPendingIrq(PVM pVM); … … 126 132 VMMR3_INT_DECL(void) HMR3NotifyEmulated(PVMCPU pVCpu); 127 133 VMMR3_INT_DECL(bool) HMR3IsActive(PVMCPU pVCpu); 128 VMMR3_INT_DECL(bool) HMR3IsAllowed(PVM pVM);129 134 VMMR3_INT_DECL(void) HMR3PagingModeChanged(PVM pVM, PVMCPU pVCpu, PGMMODE enmShadowMode, PGMMODE enmGuestMode); 130 135 VMMR3_INT_DECL(int) HMR3EmulateIoBlock(PVM pVM, PCPUMCTX pCtx); -
trunk/include/VBox/vmm/vm.h
r45533 r45618 4 4 5 5 /* 6 * Copyright (C) 2006-201 2Oracle Corporation6 * Copyright (C) 2006-2013 Oracle Corporation 7 7 * 8 8 * This file is part of VirtualBox Open Source Edition (OSE), as … … 85 85 86 86 /** 87 * Per virtual CPU data. 87 * The cross context virtual CPU structure. 88 * 89 * Run 'kmk run-struct-tests' (from src/VBox/VMM if you like) after updating! 88 90 */ 89 91 typedef struct VMCPU … … 784 786 785 787 786 /** This is the VM structure.787 * 788 * It contains (nearly?) all the VM data which have to be available in all789 * contexts. Even if it contains all the data the idea is to use APIs not790 * to modify all the members all around the place. Therefore we make use of791 * unions to hide everything which isn't local to the current source module.792 * This means we'll have to pay a little bit of attention when adding new793 * members to structures in the unions and make sure to keep the padding sizes794 * up to date.795 * 796 * Run tstVMStructSize after update!788 /** 789 * The cross context VM structure. 790 * 791 * It contains all the VM data which have to be available in all contexts. 792 * Even if it contains all the data the idea is to use APIs not to modify all 793 * the members all around the place. Therefore we make use of unions to hide 794 * everything which isn't local to the current source module. This means we'll 795 * have to pay a little bit of attention when adding new members to structures 796 * in the unions and make sure to keep the padding sizes up to date. 797 * 798 * Run 'kmk run-struct-tests' (from src/VBox/VMM if you like) after updating! 797 799 */ 798 800 typedef struct VM … … 875 877 bool fCSAMEnabled; 876 878 /** Hardware VM support is available and enabled. 879 * Determined very early during init. 877 880 * This is placed here for performance reasons. */ 878 881 bool fHMEnabled; 879 /** Hardware VM support is required and non-optional. 880 * This is initialized together with the rest of the VM structure. */ 881 bool fHwVirtExtForced; 882 /** Set when this VM is the master FT node. */ 882 /** For asserting on fHMEnable usage. */ 883 bool fHMEnabledFixed; 884 /** Set when this VM is the master FT node. 885 * @todo This doesn't need to be here, FTM should store it in it's own 886 * structures instead. */ 883 887 bool fFaultTolerantMaster; 884 /** Large page enabled flag. */ 888 /** Large page enabled flag. 889 * @todo This doesn't need to be here, PGM should store it in it's own 890 * structures instead. */ 885 891 bool fUseLargePages; 886 892 /** @} */ -
trunk/include/VBox/vmm/vm.mac
r45276 r45618 62 62 .fPATMEnabled resb 1 63 63 .fCSAMEnabled resb 1 64 .fHMEnabled resb 165 .fH wVirtExtForcedresb 164 .fHMEnabled resb 1 65 .fHMEnabledFixed resb 1 66 66 .fFaultTolerantMaster resb 1 67 67 .fUseLargePages resb 1 -
trunk/include/VBox/vmm/vmapi.h
r44528 r45618 325 325 VMINITCOMPLETED_RING0, 326 326 /** The hardware accelerated virtualization init is completed. 327 * Used to make decisision depending on whether HMIsEnabled(). */ 327 * Used to make decisision depending on HM* bits being completely 328 * initialized. */ 328 329 VMINITCOMPLETED_HM, 329 /** The GC init is completed. */330 VMINITCOMPLETED_ GC330 /** The RC init is completed. */ 331 VMINITCOMPLETED_RC 331 332 } VMINITCOMPLETED; 332 333 -
trunk/include/VBox/vmm/vmm.h
r45525 r45618 235 235 VMM_INT_DECL(VMMSWITCHER) VMMGetSwitcher(PVM pVM); 236 236 VMM_INT_DECL(void) VMMTrashVolatileXMMRegs(void); 237 238 /** @def VMMIsHwVirtExtForced239 * Checks if forced to use the hardware assisted virtualization extensions.240 *241 * This is intended for making setup decisions where we can save resources when242 * using hardware assisted virtualization.243 *244 * @returns true / false.245 * @param pVM Pointer to the shared VM structure.246 * @internal247 */248 #define VMMIsHwVirtExtForced(pVM) ((pVM)->fHwVirtExtForced)249 237 250 238
Note:
See TracChangeset
for help on using the changeset viewer.