VirtualBox

Ignore:
Timestamp:
Nov 5, 2008 3:00:48 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
38870
Message:

Pass the VMCPU id on to all hwaccm functions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp

    r13825 r13872  
    6565
    6666    /** Ring 0 handlers for VT-x and AMD-V. */
    67     DECLR0CALLBACKMEMBER(int, pfnEnterSession,(PVM pVM, PHWACCM_CPUINFO pCpu));
    68     DECLR0CALLBACKMEMBER(int, pfnLeaveSession,(PVM pVM, CPUMCTX *pCtx));
    69     DECLR0CALLBACKMEMBER(int, pfnSaveHostState,(PVM pVM));
    70     DECLR0CALLBACKMEMBER(int, pfnLoadGuestState,(PVM pVM, CPUMCTX *pCtx));
    71     DECLR0CALLBACKMEMBER(int, pfnRunGuestCode,(PVM pVM, CPUMCTX *pCtx));
     67    DECLR0CALLBACKMEMBER(int, pfnEnterSession,(PVM pVM, RTCPUID idVCpu, PHWACCM_CPUINFO pCpu));
     68    DECLR0CALLBACKMEMBER(int, pfnLeaveSession,(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx));
     69    DECLR0CALLBACKMEMBER(int, pfnSaveHostState,(PVM pVM, RTCPUID idVCpu));
     70    DECLR0CALLBACKMEMBER(int, pfnLoadGuestState,(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx));
     71    DECLR0CALLBACKMEMBER(int, pfnRunGuestCode,(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx));
    7272    DECLR0CALLBACKMEMBER(int, pfnEnableCpu, (PHWACCM_CPUINFO pCpu, PVM pVM, void *pvPageCpu, RTHCPHYS pPageCpuPhys));
    7373    DECLR0CALLBACKMEMBER(int, pfnDisableCpu, (PHWACCM_CPUINFO pCpu, void *pvPageCpu, RTHCPHYS pPageCpuPhys));
     
    865865 * @returns VBox status code.
    866866 * @param   pVM         The VM to operate on.
    867  */
    868 VMMR0DECL(int) HWACCMR0Enter(PVM pVM)
     867 * @param   idVCpu      VMCPUD id.
     868 */
     869VMMR0DECL(int) HWACCMR0Enter(PVM pVM, RTCPUID idVCpu)
    869870{
    870871    PCPUMCTX        pCtx;
     
    894895        pVM->hwaccm.s.u64RegisterMask = UINT64_C(0xFFFFFFFF);
    895896
    896     rc  = HWACCMR0Globals.pfnEnterSession(pVM, pCpu);
     897    rc  = HWACCMR0Globals.pfnEnterSession(pVM, idVCpu, pCpu);
    897898    AssertRC(rc);
    898899    /* We must save the host context here (VT-x) as we might be rescheduled on a different cpu after a long jump back to ring 3. */
    899     rc |= HWACCMR0Globals.pfnSaveHostState(pVM);
     900    rc |= HWACCMR0Globals.pfnSaveHostState(pVM, idVCpu);
    900901    AssertRC(rc);
    901     rc |= HWACCMR0Globals.pfnLoadGuestState(pVM, pCtx);
     902    rc |= HWACCMR0Globals.pfnLoadGuestState(pVM, idVCpu, pCtx);
    902903    AssertRC(rc);
    903904
     
    919920 * @returns VBox status code.
    920921 * @param   pVM         The VM to operate on.
    921  */
    922 VMMR0DECL(int) HWACCMR0Leave(PVM pVM)
     922 * @param   idVCpu      VMCPUD id.
     923 */
     924VMMR0DECL(int) HWACCMR0Leave(PVM pVM, RTCPUID idVCpu)
    923925{
    924926    PCPUMCTX        pCtx;
     
    944946    }
    945947
    946     rc = HWACCMR0Globals.pfnLeaveSession(pVM, pCtx);
     948    rc = HWACCMR0Globals.pfnLeaveSession(pVM, idVCpu, pCtx);
    947949
    948950#ifdef VBOX_STRICT
     
    961963 * @returns VBox status code.
    962964 * @param   pVM         The VM to operate on.
    963  */
    964 VMMR0DECL(int) HWACCMR0RunGuestCode(PVM pVM)
     965 * @param   idVCpu      VMCPUD id.
     966 */
     967VMMR0DECL(int) HWACCMR0RunGuestCode(PVM pVM, RTCPUID idVCpu)
    965968{
    966969    CPUMCTX *pCtx;
     
    978981    pCtx = CPUMQueryGuestCtxPtr(pVM);
    979982
    980     return HWACCMR0Globals.pfnRunGuestCode(pVM, pCtx);
     983    return HWACCMR0Globals.pfnRunGuestCode(pVM, idVCpu, pCtx);
    981984}
    982985
     
    12771280
    12781281/* Dummy callback handlers. */
    1279 VMMR0DECL(int) HWACCMR0DummyEnter(PVM pVM, PHWACCM_CPUINFO pCpu)
     1282VMMR0DECL(int) HWACCMR0DummyEnter(PVM pVM, RTCPUID idVCpu, PHWACCM_CPUINFO pCpu)
    12801283{
    12811284    return VINF_SUCCESS;
    12821285}
    12831286
    1284 VMMR0DECL(int) HWACCMR0DummyLeave(PVM pVM, PCPUMCTX pCtx)
     1287VMMR0DECL(int) HWACCMR0DummyLeave(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx)
    12851288{
    12861289    return VINF_SUCCESS;
     
    13121315}
    13131316
    1314 VMMR0DECL(int) HWACCMR0DummyRunGuestCode(PVM pVM, CPUMCTX *pCtx)
     1317VMMR0DECL(int) HWACCMR0DummyRunGuestCode(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx)
    13151318{
    13161319    return VINF_SUCCESS;
    13171320}
    13181321
    1319 VMMR0DECL(int) HWACCMR0DummySaveHostState(PVM pVM)
     1322VMMR0DECL(int) HWACCMR0DummySaveHostState(PVM pVM, RTCPUID idVCpu)
    13201323{
    13211324    return VINF_SUCCESS;
    13221325}
    13231326
    1324 VMMR0DECL(int) HWACCMR0DummyLoadGuestState(PVM pVM, CPUMCTX *pCtx)
     1327VMMR0DECL(int) HWACCMR0DummyLoadGuestState(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx)
    13251328{
    13261329    return VINF_SUCCESS;
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