Hi,I just want to simplify what Pype.Clicker is telling. (I hope it is alright for you Pype.Clicker ;D) I dont know if this is what is causing your problem but here it is:
Format of an interrupt gate is as:
offset 31...16 -> Highest word in memory.
some configuration word -> 3rd word.
selector (15 bits, fits all here) -> 2nd word.
offset 16...0 -> Lowest word in memory.
All makes 4 words=8 bytes of information. Trap gate is very similar to this, only configuration word is different. Anyway, since offset part is 32 bits(I dont know why they did this) it is divided into high and low words and these are put in different (unfortunately not adjacent
) positions in the descriptor. So in your code, you have to put 0x100000(=1Meg AND assuming your selector is 0 based) so you have to divide this into two words as: 0x0010 (higher word: bits from 31...16) and 0x0000 (lower word: bits from 15...0) So now you have to set highes word entry in descriptor to 0x0010 and lowest word entry to 0x0000. Thats all...