Changeset 13375 in vbox for trunk/src/recompiler
- Timestamp:
- Oct 17, 2008 2:18:29 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 38101
- Location:
- trunk/src/recompiler
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/recompiler/Makefile.kmk
r13363 r13375 104 104 # The VBoxREM.[dll|so|..] or VBoxREM2.rel. 105 105 # 106 $(REM_MOD)_DEFS = IN_REM_R3 REM_INCLUDE_CPU_H 107 $(REM_MOD)_DEFS += REM_PHYS_ADDR_IN_TLB 106 $(REM_MOD)_DEFS = \ 107 IN_REM_R3 REM_INCLUDE_CPU_H REM_PHYS_ADDR_IN_TLB \ 108 $(if $(VBOX_WITH_VMI),VBOX_WITH_VMI,) 109 108 110 #$(REM_MOD)_DEFS += DEBUG_ALL_LOGGING DEBUG_DISAS DEBUG_PCALL DEBUG_EXEC DEBUG_FLUSH DEBUG_IOPORT DEBUG_SIGNAL DEBUG_TLB_CHECK DEBUG_TB_INVALIDATE DEBUG_TLB # Enables huge amounts of debug logging. 109 111 -
trunk/src/recompiler/VBoxREMWrapper.cpp
r13306 r13375 624 624 { REMPARMDESC_FLAGS_INT, sizeof(uint32_t *), NULL } 625 625 }; 626 #ifdef VBOX_WITH_VMI 627 static const REMPARMDESC g_aArgsPARAVIsBiosCall[] = 628 { 629 { REMPARMDESC_FLAGS_INT, sizeof(PVM), NULL }, 630 { REMPARMDESC_FLAGS_GCPTR, sizeof(RTGCPTR), NULL }, 631 { REMPARMDESC_FLAGS_INT, sizeof(uint32_t), NULL } 632 }; 633 #endif 626 634 static const REMPARMDESC g_aArgsPDMApicGetBase[] = 627 635 { … … 1075 1083 { "PATMR3QueryPatchMemGC", (void *)(uintptr_t)&PATMR3QueryPatchMemGC, &g_aArgsPATMR3QueryPatchMem[0], RT_ELEMENTS(g_aArgsPATMR3QueryPatchMem), REMFNDESC_FLAGS_RET_INT, sizeof(RTGCPTR), NULL }, 1076 1084 { "PATMR3QueryPatchMemHC", (void *)(uintptr_t)&PATMR3QueryPatchMemHC, &g_aArgsPATMR3QueryPatchMem[0], RT_ELEMENTS(g_aArgsPATMR3QueryPatchMem), REMFNDESC_FLAGS_RET_INT, sizeof(void *), NULL }, 1085 #ifdef VBOX_WITH_VMI 1086 { "PARAVIsBiosCall", (void *)(uintptr_t)&PARAVIsBiosCall, &g_aArgsPARAVIsBiosCall[0], RT_ELEMENTS(g_aArgsPARAVIsBiosCall), REMFNDESC_FLAGS_RET_INT, sizeof(bool), NULL }, 1087 #endif 1077 1088 { "PDMApicGetBase", (void *)(uintptr_t)&PDMApicGetBase, &g_aArgsPDMApicGetBase[0], RT_ELEMENTS(g_aArgsPDMApicGetBase), REMFNDESC_FLAGS_RET_INT, sizeof(int), NULL }, 1078 1089 { "PDMApicGetTPR", (void *)(uintptr_t)&PDMApicGetTPR, &g_aArgsPDMApicGetTPR[0], RT_ELEMENTS(g_aArgsPDMApicGetTPR), REMFNDESC_FLAGS_RET_INT, sizeof(int), NULL }, -
trunk/src/recompiler/VBoxRecompiler.c
r13185 r13375 1070 1070 rc = VINF_EM_RESCHEDULE_HWACC; 1071 1071 break; 1072 1073 #ifdef VBOX_WITH_VMI 1074 /* 1075 * 1076 */ 1077 case EXCP_PARAV_CALL: 1078 Log2(("REMR3Run: cpu_exec -> EXCP_PARAV_CALL\n")); 1079 rc = VINF_EM_RESCHEDULE_PARAV; 1080 break; 1081 #endif 1072 1082 1073 1083 /* -
trunk/src/recompiler/cpu-defs.h
r11982 r13375 90 90 #define EXCP_SINGLE_INSTR 0x11026 /* executed single instruction. */ 91 91 #define EXCP_RC 0x11027 /* a EM rc was raised (VMR3Reset/Suspend/PowerOff). */ 92 #ifdef VBOX 93 #define EXCP_PARAV_CALL 0x11028 /* VMI BIOS call */ 94 #endif 92 95 #endif /* VBOX */ 93 96 #define MAX_BREAKPOINTS 32 -
trunk/src/recompiler/target-i386/helper.c
r13117 r13375 29 29 #ifdef VBOX 30 30 # include <VBox/err.h> 31 # include <VBox/parav.h> 31 32 #endif 32 33 #include "exec.h" … … 625 626 626 627 #ifdef VBOX 628 # ifdef VBOX_WITH_VMI 629 if ( intno == 6 630 && PARAVIsBiosCall(env->pVM, (RTRCPTR)next_eip, env->regs[R_EAX])) 631 { 632 env->exception_index = EXCP_PARAV_CALL; 633 cpu_loop_exit(); 634 } 635 # endif 627 636 if (remR3NotifyTrap(env, intno, error_code, next_eip) != VINF_SUCCESS) 628 637 cpu_loop_exit();
Note:
See TracChangeset
for help on using the changeset viewer.