4
4
* VBoxREM Win64 DLL Wrapper.
7
* Copyright (C) 2006-2007 Oracle Corporation
7
* Copyright (C) 2006-2012 Oracle Corporation
9
9
* This file is part of VirtualBox Open Source Edition (OSE), as
10
10
* available from http://www.virtualbox.org. This file is free software;
408
408
{ REMPARMDESC_FLAGS_INT, sizeof(void *), NULL },
409
409
{ REMPARMDESC_FLAGS_INT, sizeof(size_t), NULL }
411
static const REMPARMDESC g_aArgsSIZE_TTagLoc[] =
413
{ REMPARMDESC_FLAGS_INT, sizeof(size_t), NULL },
414
{ REMPARMDESC_FLAGS_INT, sizeof(const char *), NULL },
415
{ REMPARMDESC_FLAGS_INT, sizeof(const char *), NULL },
416
{ REMPARMDESC_FLAGS_INT, sizeof(unsigned int), NULL },
417
{ REMPARMDESC_FLAGS_INT, sizeof(const char *), NULL }
419
static const REMPARMDESC g_aArgsPTRLoc[] =
421
{ REMPARMDESC_FLAGS_INT, sizeof(void *), NULL },
422
{ REMPARMDESC_FLAGS_INT, sizeof(const char *), NULL },
423
{ REMPARMDESC_FLAGS_INT, sizeof(unsigned int), NULL },
424
{ REMPARMDESC_FLAGS_INT, sizeof(const char *), NULL }
411
426
static const REMPARMDESC g_aArgsVM[] =
413
428
{ REMPARMDESC_FLAGS_INT, sizeof(PVM), NULL }
521
536
static const REMPARMDESC g_aArgsCPUMGetGuestCpl[] =
523
538
{ REMPARMDESC_FLAGS_INT, sizeof(PVMCPU), NULL },
524
{ REMPARMDESC_FLAGS_INT, sizeof(PCPUMCTXCORE), NULL },
527
/* EMInterpretInstructionCPU args */
528
static const REMPARMDESC g_aArgsEMInterpretInstructionCPU[] =
530
{ REMPARMDESC_FLAGS_INT, sizeof(PVM), NULL },
531
{ REMPARMDESC_FLAGS_INT, sizeof(PVMCPU), NULL },
532
{ REMPARMDESC_FLAGS_INT, sizeof(PDISCPUSTATE), NULL },
533
{ REMPARMDESC_FLAGS_INT, sizeof(PCPUMCTXCORE), NULL },
534
{ REMPARMDESC_FLAGS_GCPTR, sizeof(RTGCPTR), NULL },
535
{ REMPARMDESC_FLAGS_INT, sizeof(EMCODETYPE), NULL },
536
{ REMPARMDESC_FLAGS_INT, sizeof(uint32_t *), NULL }
539
541
/* CPUMQueryGuestMsr args */
648
650
{ REMPARMDESC_FLAGS_INT, sizeof(PDBGFADDRESS), NULL },
649
651
{ REMPARMDESC_FLAGS_INT, sizeof(RTGCUINTPTR), NULL }
651
static const REMPARMDESC g_aArgsDISInstr[] =
653
static const REMPARMDESC g_aArgsDISInstrToStr[] =
653
{ REMPARMDESC_FLAGS_INT, sizeof(PVM), NULL },
654
{ REMPARMDESC_FLAGS_INT, sizeof(RTUINTPTR), NULL },
655
{ REMPARMDESC_FLAGS_INT, sizeof(uint32_t), NULL },
655
{ REMPARMDESC_FLAGS_INT, sizeof(uint8_t const *), NULL },
656
{ REMPARMDESC_FLAGS_INT, sizeof(DISCPUMODE), NULL },
657
{ REMPARMDESC_FLAGS_INT, sizeof(PDISCPUSTATE), NULL },
656
658
{ REMPARMDESC_FLAGS_INT, sizeof(uint32_t *), NULL },
657
{ REMPARMDESC_FLAGS_INT, sizeof(char *), NULL }
659
{ REMPARMDESC_FLAGS_INT, sizeof(char *), NULL },
660
{ REMPARMDESC_FLAGS_INT, sizeof(size_t), NULL }
659
662
static const REMPARMDESC g_aArgsEMR3FatalError[] =
760
763
{ REMPARMDESC_FLAGS_INT, sizeof(PVM), NULL },
761
764
{ REMPARMDESC_FLAGS_INT, sizeof(uint8_t), NULL },
762
{ REMPARMDESC_FLAGS_INT, sizeof(uint8_t), NULL }
765
{ REMPARMDESC_FLAGS_INT, sizeof(uint8_t), NULL },
766
{ REMPARMDESC_FLAGS_INT, sizeof(uint32_t), NULL }
764
768
static const REMPARMDESC g_aArgsPDMR3CritSectInit[] =
889
893
{ REMPARMDESC_FLAGS_INT, sizeof(size_t), NULL },
890
894
{ REMPARMDESC_FLAGS_INT, sizeof(const char *), NULL }
896
static const REMPARMDESC g_aArgsRTMemEfRealloc[] =
898
{ REMPARMDESC_FLAGS_INT, sizeof(void*), NULL },
899
{ REMPARMDESC_FLAGS_INT, sizeof(size_t), NULL },
900
{ REMPARMDESC_FLAGS_INT, sizeof(const char *), NULL },
901
{ REMPARMDESC_FLAGS_INT, sizeof(const char *), NULL },
902
{ REMPARMDESC_FLAGS_INT, sizeof(unsigned int), NULL },
903
{ REMPARMDESC_FLAGS_INT, sizeof(const char *), NULL }
892
905
static const REMPARMDESC g_aArgsSSMR3GetGCPtr[] =
894
907
{ REMPARMDESC_FLAGS_INT, sizeof(PSSMHANDLE), NULL },
1187
1200
static REMFNDESC g_aVMMImports[] =
1189
{ "CPUMAreHiddenSelRegsValid", VMM_FN(CPUMAreHiddenSelRegsValid), &g_aArgsVMCPU[0], RT_ELEMENTS(g_aArgsVMCPU), REMFNDESC_FLAGS_RET_INT, sizeof(bool), NULL },
1190
1202
{ "CPUMR3RemEnter", VMM_FN(CPUMR3RemEnter), &g_aArgsCPUMR3RemEnter[0], RT_ELEMENTS(g_aArgsCPUMR3RemEnter), REMFNDESC_FLAGS_RET_INT, sizeof(uint32_t), NULL },
1191
1203
{ "CPUMR3RemLeave", VMM_FN(CPUMR3RemLeave), &g_aArgsCPUMR3RemLeave[0], RT_ELEMENTS(g_aArgsCPUMR3RemLeave), REMFNDESC_FLAGS_RET_VOID, 0, NULL },
1192
1204
{ "CPUMSetChangedFlags", VMM_FN(CPUMSetChangedFlags), &g_aArgsCPUMSetChangedFlags[0], RT_ELEMENTS(g_aArgsCPUMSetChangedFlags), REMFNDESC_FLAGS_RET_VOID, 0, NULL },
1219
1231
{ "DBGFR3InfoLogRelHlp", VMM_FN(DBGFR3InfoLogRelHlp), NULL, 0, REMFNDESC_FLAGS_RET_INT, sizeof(void *), NULL },
1220
1232
{ "DBGFR3AsSymbolByAddr", VMM_FN(DBGFR3AsSymbolByAddr), &g_aArgsDBGFR3AsSymbolByAddr[0], RT_ELEMENTS(g_aArgsDBGFR3AsSymbolByAddr), REMFNDESC_FLAGS_RET_INT, sizeof(int), NULL },
1221
1233
{ "DBGFR3AddrFromFlat", VMM_FN(DBGFR3AddrFromFlat), &g_aArgsDBGFR3AddrFromFlat[0], RT_ELEMENTS(g_aArgsDBGFR3AddrFromFlat), REMFNDESC_FLAGS_RET_INT, sizeof(PDBGFADDRESS), NULL },
1222
{ "DISInstr", VMM_FN(DISInstr), &g_aArgsDISInstr[0], RT_ELEMENTS(g_aArgsDISInstr), REMFNDESC_FLAGS_RET_INT, sizeof(bool), NULL },
1234
{ "DISInstrToStr", VMM_FN(DISInstrToStr), &g_aArgsDISInstrToStr[0], RT_ELEMENTS(g_aArgsDISInstrToStr), REMFNDESC_FLAGS_RET_INT, sizeof(bool), NULL },
1223
1235
{ "EMR3FatalError", VMM_FN(EMR3FatalError), &g_aArgsEMR3FatalError[0], RT_ELEMENTS(g_aArgsEMR3FatalError), REMFNDESC_FLAGS_RET_VOID, 0, NULL },
1224
1236
{ "EMRemLock", VMM_FN(EMRemLock), &g_aArgsVM[0], RT_ELEMENTS(g_aArgsVM), REMFNDESC_FLAGS_RET_VOID, 0, NULL },
1225
1237
{ "EMRemUnlock", VMM_FN(EMRemUnlock), &g_aArgsVM[0], RT_ELEMENTS(g_aArgsVM), REMFNDESC_FLAGS_RET_VOID, 0, NULL },
1302
1314
{ "VMR3ReqFree", VMM_FN(VMR3ReqFree), &g_aArgsVMR3ReqFree[0], RT_ELEMENTS(g_aArgsVMR3ReqFree), REMFNDESC_FLAGS_RET_INT, sizeof(int), NULL },
1303
1315
{ "VMR3GetVMCPUId", VMM_FN(VMR3GetVMCPUId), &g_aArgsVM[0], RT_ELEMENTS(g_aArgsVM), REMFNDESC_FLAGS_RET_INT, sizeof(int), NULL },
1304
1316
{ "VMR3GetVMCPUNativeThread", VMM_FN(VMR3GetVMCPUNativeThread), &g_aArgsVM[0], RT_ELEMENTS(g_aArgsVM), REMFNDESC_FLAGS_RET_INT, sizeof(void *), NULL },
1305
{ "EMInterpretInstructionCPU", VMM_FN(EMInterpretInstructionCPU), &g_aArgsEMInterpretInstructionCPU[0], RT_ELEMENTS(g_aArgsEMInterpretInstructionCPU), REMFNDESC_FLAGS_RET_INT, sizeof(int), NULL },
1306
1317
// { "", VMM_FN(), &g_aArgsVM[0], RT_ELEMENTS(g_aArgsVM), REMFNDESC_FLAGS_RET_INT, sizeof(int), NULL },
1335
1346
{ "RTMemPageAllocTag", (void *)(uintptr_t)&RTMemPageAllocTag, &g_aArgsSIZE_TTag[0], RT_ELEMENTS(g_aArgsSIZE_TTag), REMFNDESC_FLAGS_RET_INT, sizeof(void *), NULL },
1336
1347
{ "RTMemPageFree", (void *)(uintptr_t)&RTMemPageFree, &g_aArgsPTR_SIZE_T[0], RT_ELEMENTS(g_aArgsPTR_SIZE_T), REMFNDESC_FLAGS_RET_VOID, 0, NULL },
1337
1348
{ "RTMemProtect", (void *)(uintptr_t)&RTMemProtect, &g_aArgsRTMemProtect[0], RT_ELEMENTS(g_aArgsRTMemProtect), REMFNDESC_FLAGS_RET_INT, sizeof(int), NULL },
1349
{ "RTMemEfAlloc", (void *)(uintptr_t)&RTMemEfAlloc, &g_aArgsSIZE_TTagLoc[0], RT_ELEMENTS(g_aArgsSIZE_TTagLoc), REMFNDESC_FLAGS_RET_INT, sizeof(void *), NULL },
1350
{ "RTMemEfAllocZ", (void *)(uintptr_t)&RTMemEfAllocZ, &g_aArgsSIZE_TTagLoc[0], RT_ELEMENTS(g_aArgsSIZE_TTagLoc), REMFNDESC_FLAGS_RET_INT, sizeof(void *), NULL },
1351
{ "RTMemEfRealloc", (void *)(uintptr_t)&RTMemEfRealloc, &g_aArgsRTMemEfRealloc[0], RT_ELEMENTS(g_aArgsRTMemEfRealloc), REMFNDESC_FLAGS_RET_INT, sizeof(void *), NULL },
1352
{ "RTMemEfFree", (void *)(uintptr_t)&RTMemEfFree, &g_aArgsPTRLoc[0], RT_ELEMENTS(g_aArgsPTRLoc), REMFNDESC_FLAGS_RET_VOID, 0, NULL },
1338
1353
{ "RTStrPrintf", (void *)(uintptr_t)&RTStrPrintf, &g_aArgsRTStrPrintf[0], RT_ELEMENTS(g_aArgsRTStrPrintf), REMFNDESC_FLAGS_RET_INT | REMFNDESC_FLAGS_ELLIPSIS, sizeof(size_t), NULL },
1339
1354
{ "RTStrPrintfV", (void *)(uintptr_t)&RTStrPrintfV, &g_aArgsRTStrPrintfV[0], RT_ELEMENTS(g_aArgsRTStrPrintfV), REMFNDESC_FLAGS_RET_INT | REMFNDESC_FLAGS_VALIST, sizeof(size_t), NULL },
1340
1355
{ "RTThreadSelf", (void *)(uintptr_t)&RTThreadSelf, NULL, 0, REMFNDESC_FLAGS_RET_INT, sizeof(RTTHREAD), NULL },