Strange Interrupt Problem
Posted: Thu Mar 18, 2004 3:02 pm
Hi
In my kernel initalisation I have setup GDT and GDTR, page tables, and paging, IDT and IDTR and I have assembly wrappers ready.
Now here is where it gets strange, If I fire off an interrupt, either by hardware or with the Int instruction, when it jumps into the ISR, my CS selector's base address goes up my 0x100000 (1MB) all on it's own!!
For Example: If I'm currently executing at:
0008:0x100825 (phys: 0x100825)
And I Int to an ISR at:
0008:0x100840 (phys: 0x100840)
I end up at:
0008:0x100840 (phys: 0x200840) ???
I don't get any faults or errors, it just executes untill the end of memory!!
What could be going on?
Thanks
srg
In my kernel initalisation I have setup GDT and GDTR, page tables, and paging, IDT and IDTR and I have assembly wrappers ready.
Now here is where it gets strange, If I fire off an interrupt, either by hardware or with the Int instruction, when it jumps into the ISR, my CS selector's base address goes up my 0x100000 (1MB) all on it's own!!
For Example: If I'm currently executing at:
0008:0x100825 (phys: 0x100825)
And I Int to an ISR at:
0008:0x100840 (phys: 0x100840)
I end up at:
0008:0x100840 (phys: 0x200840) ???
I don't get any faults or errors, it just executes untill the end of memory!!
What could be going on?
Thanks
srg