VirtualBox

Changeset 41976 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Jul 1, 2012 2:16:40 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
78849
Message:

VMM: Switcher and TRPM fixes wrt hypervisor traps and tstVMM.

Location:
trunk/include/VBox/vmm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/cpum.h

    r41943 r41976  
    341341VMMDECL(int)            CPUMSetHyperEFlags(PVMCPU pVCpu, uint32_t Efl);
    342342VMMDECL(void)           CPUMSetHyperEIP(PVMCPU pVCpu, uint32_t u32EIP);
     343VMM_INT_DECL(void)      CPUMSetHyperState(PVMCPU pVCpu, uint32_t u32EIP, uint32_t u32ESP, uint32_t u32EAX, uint32_t u32EDX);
    343344VMMDECL(void)           CPUMSetHyperDR0(PVMCPU pVCpu, RTGCUINTREG uDr0);
    344345VMMDECL(void)           CPUMSetHyperDR1(PVMCPU pVCpu, RTGCUINTREG uDr1);
  • trunk/include/VBox/vmm/vm.h

    r41933 r41976  
    794794     * Depending on how the host handles the rc status given in @a eax, this may
    795795     * return and let the caller resume whatever it was doing prior to the call.
     796     *
     797     *
     798     * @param   eax         The return code, register.
     799     * @remark  Assume interrupts disabled.
     800     * @remark  This method pointer lives here because TRPM needs it.
     801     */
     802    RTRCPTR                     pfnVMMRCToHostAsm/*(int32_t eax)*/;
     803
     804    /**
     805     * VMMSwitcher assembly entry point returning to host context without saving the
     806     * raw-mode context (hyper) registers.
     807     *
     808     * Unlike pfnVMMRC2HCAsm, this will not return to the caller.  Instead it
     809     * expects the caller to save a RC context in CPUM where one might return if the
     810     * return code indicate that this is possible.
     811     *
    796812     * This method pointer lives here because TRPM needs it.
    797813     *
    798814     * @param   eax         The return code, register.
    799815     * @remark  Assume interrupts disabled.
     816     * @remark  This method pointer lives here because TRPM needs it.
    800817     */
    801     RTRCPTR                     pfnVMMGCGuestToHostAsm/*(int32_t eax)*/;
     818    RTRCPTR                     pfnVMMRCToHostAsmNoReturn/*(int32_t eax)*/;
    802819
    803820    /** @name Various items that are frequently accessed.
     
    824841    bool                        fUseLargePages;
    825842    /** @} */
     843
     844    /** Alignment padding.. */
     845    uint32_t                    uPadding1;
    826846
    827847    /** @name Debugging
     
    869889    /** Padding - the unions must be aligned on a 64 bytes boundary and the unions
    870890     *  must start at the same offset on both 64-bit and 32-bit hosts. */
    871     uint8_t                     abAlignment3[(HC_ARCH_BITS == 32 ? 24 : 0) + 48];
     891    uint8_t                     abAlignment3[(HC_ARCH_BITS == 32 ? 24 : 0) + 40];
    872892
    873893    /** CPUM part. */
  • trunk/include/VBox/vmm/vm.mac

    r41933 r41976  
    44
    55;
    6 ; Copyright (C) 2006-2011 Oracle Corporation
     6; Copyright (C) 2006-2012 Oracle Corporation
    77;
    88; This file is part of VirtualBox Open Source Edition (OSE), as
     
    5555    .cbSelf                 resd 1
    5656    .offVMCPU               resd 1
    57     .pfnVMMGCGuestToHostAsm resd 1
     57    .pfnVMMRCToHostAsm      resd 1
     58    .pfnVMMRCToHostAsmNoReturn resd 1
    5859    .fRecompileUser         resb 1
    5960    .fRecompileSupervisor   resb 1
     
    6465    .fFaultTolerantMaster   resb 1
    6566    .fUseLargePages         resb 1
     67
     68    .uPadding1              resd 1
    6669
    6770    .hTraceBufRC            RTRCPTR_RES 1
     
    9396%endif
    9497%if HC_ARCH_BITS == 32
    95     .abAlignment3           resb 24
     98    .abAlignment3           resb 16
    9699%else
    97100;    .abAlignment3           resb 16
Note: See TracChangeset for help on using the changeset viewer.

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