VirtualBox

Ignore:
Timestamp:
May 18, 2015 9:47:57 AM (10 years ago)
Author:
vboxsync
Message:

PGM: Added an access origin to memory read & write calls that respects handlers. This will later be passed to the access handler, so that things like the page pool (and potentially others) can query IEM about instruction details when needed.

File:
1 edited

Legend:

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

    r55493 r55899  
    832832    { REMPARMDESC_FLAGS_GCPHYS,     sizeof(RTGCPHYS),           NULL },
    833833    { REMPARMDESC_FLAGS_INT,        sizeof(void *),             NULL },
    834     { REMPARMDESC_FLAGS_INT,        sizeof(size_t),             NULL }
     834    { REMPARMDESC_FLAGS_INT,        sizeof(size_t),             NULL },
     835    { REMPARMDESC_FLAGS_INT,        sizeof(PGMACCESSORIGIN),    NULL }
    835836};
    836837static const REMPARMDESC g_aArgsPGMPhysSimpleReadGCPtr[] =
     
    846847    { REMPARMDESC_FLAGS_GCPHYS,     sizeof(RTGCPHYS),           NULL },
    847848    { REMPARMDESC_FLAGS_INT,        sizeof(const void *),       NULL },
    848     { REMPARMDESC_FLAGS_INT,        sizeof(size_t),             NULL }
     849    { REMPARMDESC_FLAGS_INT,        sizeof(size_t),             NULL },
     850    { REMPARMDESC_FLAGS_INT,        sizeof(PGMACCESSORIGIN),    NULL }
    849851};
    850852static const REMPARMDESC g_aArgsPGMChangeMode[] =
     
    864866{
    865867    { REMPARMDESC_FLAGS_INT,        sizeof(PVM),                NULL },
    866     { REMPARMDESC_FLAGS_GCPHYS,     sizeof(RTGCPHYS),           NULL }
     868    { REMPARMDESC_FLAGS_GCPHYS,     sizeof(RTGCPHYS),           NULL },
     869    { REMPARMDESC_FLAGS_INT,        sizeof(PGMACCESSORIGIN),    NULL }
    867870};
    868871static const REMPARMDESC g_aArgsPGMR3PhysWriteU8[] =
     
    870873    { REMPARMDESC_FLAGS_INT,        sizeof(PVM),                NULL },
    871874    { REMPARMDESC_FLAGS_GCPHYS,     sizeof(RTGCPHYS),           NULL },
    872     { REMPARMDESC_FLAGS_INT,        sizeof(uint8_t),            NULL }
     875    { REMPARMDESC_FLAGS_INT,        sizeof(uint8_t),            NULL },
     876    { REMPARMDESC_FLAGS_INT,        sizeof(PGMACCESSORIGIN),    NULL }
    873877};
    874878static const REMPARMDESC g_aArgsPGMR3PhysWriteU16[] =
     
    876880    { REMPARMDESC_FLAGS_INT,        sizeof(PVM),                NULL },
    877881    { REMPARMDESC_FLAGS_GCPHYS,     sizeof(RTGCPHYS),           NULL },
    878     { REMPARMDESC_FLAGS_INT,        sizeof(uint16_t),           NULL }
     882    { REMPARMDESC_FLAGS_INT,        sizeof(uint16_t),           NULL },
     883    { REMPARMDESC_FLAGS_INT,        sizeof(PGMACCESSORIGIN),    NULL }
    879884};
    880885static const REMPARMDESC g_aArgsPGMR3PhysWriteU32[] =
     
    882887    { REMPARMDESC_FLAGS_INT,        sizeof(PVM),                NULL },
    883888    { REMPARMDESC_FLAGS_GCPHYS,     sizeof(RTGCPHYS),           NULL },
    884     { REMPARMDESC_FLAGS_INT,        sizeof(uint32_t),           NULL }
     889    { REMPARMDESC_FLAGS_INT,        sizeof(uint32_t),           NULL },
     890    { REMPARMDESC_FLAGS_INT,        sizeof(PGMACCESSORIGIN),    NULL }
    885891};
    886892static const REMPARMDESC g_aArgsPGMR3PhysWriteU64[] =
     
    888894    { REMPARMDESC_FLAGS_INT,        sizeof(PVM),                NULL },
    889895    { REMPARMDESC_FLAGS_GCPHYS,     sizeof(RTGCPHYS),           NULL },
    890     { REMPARMDESC_FLAGS_INT,        sizeof(uint64_t),           NULL }
     896    { REMPARMDESC_FLAGS_INT,        sizeof(uint64_t),           NULL },
     897    { REMPARMDESC_FLAGS_INT,        sizeof(PGMACCESSORIGIN),    NULL }
    891898};
    892899static const REMPARMDESC g_aArgsRTMemReallocTag[] =
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