Changeset 60205 in vbox
- Timestamp:
- Mar 27, 2016 12:45:44 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 106239
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-Syscall.asm
r60000 r60205 56 56 push xBX 57 57 58 %if TMPL_BITS == 16 58 %if TMPL_BITS == 32 59 mov ebx, .return 60 xchg ebx, [BS3_DATA16_WRT(g_uBs3TrapEipHint)] 61 %elif TMPL_BITS == 16 59 62 mov bl, [BS3_DATA16_WRT(g_bBs3CurrentMode)] 60 63 and bl, BS3_MODE_CODE_MASK 61 64 cmp bl, BS3_MODE_CODE_V86 62 65 mov bx, 0 63 mov [2 + BS3_DATA16_WRT(g_uBs3TrapEipHint)], bx66 xchg bx, [2 + BS3_DATA16_WRT(g_uBs3TrapEipHint)] 64 67 jne .normal 65 db 0xf0 ; lock prefix 66 %else 67 BS3_LEA_MOV_WRT_RIP(xBX, .return) 68 mov [BS3_DATA16_WRT(g_uBs3TrapEipHint)], ebx 68 69 db 0xf0 ; Lock prefix for causing #UD in V8086 mode. 69 70 %endif 70 71 .normal: … … 72 73 73 74 .return: 75 ; Restore the EIP hint so the testcase code doesn't need to set it all the time. 76 %if TMPL_BITS == 32 77 mov [BS3_DATA16_WRT(g_uBs3TrapEipHint)], ebx 78 %elif TMPL_BITS == 16 79 mov [2 + BS3_DATA16_WRT(g_uBs3TrapEipHint)], bx 80 %endif 81 74 82 pop xBX 75 83 pop xBP
Note:
See TracChangeset
for help on using the changeset viewer.