Changeset 41933 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Jun 27, 2012 6:37:33 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 78801
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/vm.h
r41905 r41933 789 789 uint32_t offVMCPU; 790 790 791 /** Reserved; alignment. */792 uint32_t u32Reserved[5];793 794 /** @name Public VMM Switcher APIs795 * @{ */796 791 /** 797 * Assembly switch entry point for returning to host context. 798 * This function will clean up the stack frame. 792 * VMMSwitcher assembly entry point returning to host context. 799 793 * 800 * @param eax The return code, register. 801 * @param Ctx The guest core context. 802 * @remark Assume interrupts disabled. 803 */ 804 RTRCPTR pfnVMMGCGuestToHostAsmGuestCtx/*(int32_t eax, CPUMCTXCORE Ctx)*/; 805 806 /** 807 * Assembly switch entry point for returning to host context. 808 * 809 * This is an alternative entry point which we'll be using when the we have the 810 * hypervisor context and need to save that before going to the host. 811 * 812 * This is typically useful when abandoning the hypervisor because of a trap 813 * and want the trap state to be saved. 814 * 815 * @param eax The return code, register. 816 * @param ecx Pointer to the hypervisor core context, register. 817 * @remark Assume interrupts disabled. 818 */ 819 RTRCPTR pfnVMMGCGuestToHostAsmHyperCtx/*(int32_t eax, PCPUMCTXCORE ecx)*/; 820 821 /** 822 * Assembly switch entry point for returning to host context. 823 * 824 * This is an alternative to the two *Ctx APIs and implies that the context has already 825 * been saved, or that it's just a brief return to HC and that the caller intends to resume 826 * whatever it is doing upon 'return' from this call. 794 * Depending on how the host handles the rc status given in @a eax, this may 795 * return and let the caller resume whatever it was doing prior to the call. 796 * This method pointer lives here because TRPM needs it. 827 797 * 828 798 * @param eax The return code, register. … … 830 800 */ 831 801 RTRCPTR pfnVMMGCGuestToHostAsm/*(int32_t eax)*/; 832 /** @} */833 834 835 /** @name Various VM data owned by VM.836 * @{ */837 RTTHREAD uPadding1;838 /** The native handle of ThreadEMT. Getting the native handle839 * is generally faster than getting the IPRT one (except on OS/2 :-). */840 RTNATIVETHREAD uPadding2;841 /** @} */842 843 802 844 803 /** @name Various items that are frequently accessed. … … 870 829 /** Raw-mode Context VM Pointer. */ 871 830 RCPTRTYPE(RTTRACEBUF) hTraceBufRC; 872 /** Alignment padding */873 uint32_t uPadding3;874 831 /** Ring-3 Host Context VM Pointer. */ 875 832 R3PTRTYPE(RTTRACEBUF) hTraceBufR3; … … 880 837 #if HC_ARCH_BITS == 32 881 838 /** Alignment padding.. */ 882 uint32_t uPadding 4;839 uint32_t uPadding2; 883 840 #endif 884 841 … … 910 867 /** @} */ 911 868 912 #if HC_ARCH_BITS != 64913 869 /** Padding - the unions must be aligned on a 64 bytes boundary and the unions 914 870 * must start at the same offset on both 64-bit and 32-bit hosts. */ 915 uint8_t abAlignment1[HC_ARCH_BITS == 32 ? 32 : 0]; 916 #endif 871 uint8_t abAlignment3[(HC_ARCH_BITS == 32 ? 24 : 0) + 48]; 917 872 918 873 /** CPUM part. */ -
trunk/include/VBox/vmm/vm.mac
r41905 r41933 55 55 .cbSelf resd 1 56 56 .offVMCPU resd 1 57 .u32Reserved resd 5 58 59 .pfnVMMGCGuestToHostAsmGuestCtx RTRCPTR_RES 1 60 .pfnVMMGCGuestToHostAsmHyperCtx RTRCPTR_RES 1 61 .pfnVMMGCGuestToHostAsm RTRCPTR_RES 1 62 63 .uPadding1 RTHCPTR_RES 1 64 .uPadding2 RTHCPTR_RES 1 65 57 .pfnVMMGCGuestToHostAsm resd 1 66 58 .fRecompileUser resb 1 67 59 .fRecompileSupervisor resb 1 … … 74 66 75 67 .hTraceBufRC RTRCPTR_RES 1 76 .uPadding3 resd 177 68 .hTraceBufR3 RTR3PTR_RES 1 78 69 .hTraceBufR0 RTR0PTR_RES 1 … … 102 93 %endif 103 94 %if HC_ARCH_BITS == 32 104 .abAlignment 1 resb 3095 .abAlignment3 resb 24 105 96 %else 106 ; .abAlignment 1 resb 097 ; .abAlignment3 resb 16 107 98 %endif 108 99
Note:
See TracChangeset
for help on using the changeset viewer.