SYSENTER causing invalid opcode fault in VirtualBox
Posted: Fri Jun 01, 2018 2:51 pm
First off, my computer's old and doesn't support hardware virtualization, so I assume VirtualBox is using software virtualization/emulation (and I don't have plans to upgrade soon)
The issue is my sysenter handler works and returns an unlimited number of times without issue in QEMU and Bochs, but fails to even be called in VirtualBox. I even tried panic-ing in the sysenter handler to indicate it's at least called once, works in QEMU and Bochs but still nothing in VirtualBox, indicating it's not even reached.
Is this a known issue? I can't find any info suggesting it is
Thanks
The issue is my sysenter handler works and returns an unlimited number of times without issue in QEMU and Bochs, but fails to even be called in VirtualBox. I even tried panic-ing in the sysenter handler to indicate it's at least called once, works in QEMU and Bochs but still nothing in VirtualBox, indicating it's not even reached.
Is this a known issue? I can't find any info suggesting it is
Thanks
Code: Select all
UserTask:
mov eax, 0
.loop:
inc eax
cmp eax, 8000000
jl .loop
mov ecx, esp
mov edx, .ok
sysenter
.ok:
cmp eax, 9000000
jne .loop
jmp UserTask
Code: Select all
SysEnterHandler:
push ebx
push ecx
push edx
PANIC "HELLO"
pop edx
pop ecx
pop ebx
sti
sysexit