VirtualBox

Changeset 45799 in vbox for trunk/src/recompiler


Ignore:
Timestamp:
Apr 29, 2013 3:46:29 AM (12 years ago)
Author:
vboxsync
Message:

Make the recompiler call PGMCr0WpEnabled.

Location:
trunk/src/recompiler
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/recompiler/VBoxREMWrapper.cpp

    r45618 r45799  
    12721272    { "PGMChangeMode",                          VMM_FN(PGMChangeMode),                  &g_aArgsPGMChangeMode[0],                   RT_ELEMENTS(g_aArgsPGMChangeMode),                     REMFNDESC_FLAGS_RET_INT,    sizeof(int),        NULL },
    12731273    { "PGMFlushTLB",                            VMM_FN(PGMFlushTLB),                    &g_aArgsPGMFlushTLB[0],                     RT_ELEMENTS(g_aArgsPGMFlushTLB),                       REMFNDESC_FLAGS_RET_INT,    sizeof(int),        NULL },
     1274    { "PGMCr0WpEnabled",                        VMM_FN(PGMCr0WpEnabled),                &g_aArgsVMCPU[0],                           RT_ELEMENTS(g_aArgsVMCPU),                             REMFNDESC_FLAGS_RET_VOID,   0,                  NULL },
    12741275    { "PGMR3PhysReadU8",                        VMM_FN(PGMR3PhysReadU8),                &g_aArgsPGMR3PhysReadUxx[0],                RT_ELEMENTS(g_aArgsPGMR3PhysReadUxx),                  REMFNDESC_FLAGS_RET_INT,    sizeof(uint8_t),    NULL },
    12751276    { "PGMR3PhysReadU16",                       VMM_FN(PGMR3PhysReadU16),               &g_aArgsPGMR3PhysReadUxx[0],                RT_ELEMENTS(g_aArgsPGMR3PhysReadUxx),                  REMFNDESC_FLAGS_RET_INT,    sizeof(uint16_t),   NULL },
  • trunk/src/recompiler/VBoxRecompiler.c

    r45751 r45799  
    19531953    Assert(pVM->rem.s.fInREM);
    19541954
     1955    pCtx = (PCPUMCTX)pVM->rem.s.pCtx;
     1956    Assert(pCtx);
     1957
     1958    /*
     1959     * Notify PGM about WP0 being enabled (like CPUSetGuestCR0 does).
     1960     */
     1961    if (((env->cr[0] ^ pCtx->cr0) & X86_CR0_WP) && (env->cr[0] & X86_CR0_WP))
     1962        PGMCr0WpEnabled(env->pVCpu);
     1963
    19551964    /*
    19561965     * Update the control registers before calling PGMChangeMode()
    19571966     * as it may need to map whatever cr3 is pointing to.
    19581967     */
    1959     pCtx = (PCPUMCTX)pVM->rem.s.pCtx;
    1960     Assert(pCtx);
    19611968    pCtx->cr0 = env->cr[0];
    19621969    pCtx->cr3 = env->cr[3];
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