I think processor wants to make System Timer interrupt and something wrong happens.
How can I debug this incident? what is the reason?
---
Not onley in sysenter procedure. everyware I put this code:
Code: Select all
cli
mov ecx, 0x100000
.Loop:
loop .Loop
sti
mov eax, 0
mov eax, 0
mov eax, 0 ; System Timer Interrupt. Everything is well.
mov eax, 0
mov eax, 0
cli
mov ecx, 0x100000
.Loop1:
loop .Loop1
sti
mov eax, 0
mov eax, 0
mov eax, 0 ; #GP
mov eax, 0
mov eax, 0
Code: Select all
cli
mov ecx, 0x1000000 ; I extend loop size.
.Loop:
loop .Loop
sti
mov eax, 0
mov eax, 0 ; #GP
mov eax, 0
mov eax, 0
mov eax, 0