When I sti, now I get this:
fetch_raw_discriptor: LDTR.valid=0
And I didn't load a LDTR.
Why does it do this?
IRQs
Re:IRQs
I would hazard a guess based on your last couple of comments that your GDT is not setup right or you are not using selectors properly.
I.e. you get "iret: AR byte indicated non code segment
", this indicates to me that your CS selector is not set properly, it should be something like 0x8 pointing to a correct GDT entry"
The ldtr message is related I believe to using a bad selector.
I.e. you get "iret: AR byte indicated non code segment
", this indicates to me that your CS selector is not set properly, it should be something like 0x8 pointing to a correct GDT entry"
The ldtr message is related I believe to using a bad selector.
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:IRQs
it really seems that your handler code is messing up the stack ... you're probably trying to perform an IRET on something that isn't the interrupt stack frame (get an ASM version of your code using gcc -S and check your push/pop pairs)