mystran wrote: b) that CPL3 code can access the page (user level access)
Thanks, I didn't thought about the paging privilege level. It now works correctly.
I currently have an IDT which should (?) work :
a) I'm using IRQ 0 to compute the CPU speed, and it works well.
b) I get this with bochs :
Code: Select all
allow_io(): TR doesn't point to a valid 32bit TSS
00000999467d[CPU ] exception(0d h)
00000999467d[CPU ] interrupt(): vector = 13, INT = 0, EXT = 1
00000999467d[CPU ] int_trap_gate286(): INTERRUPT TO SAME PRIVILEGE
I get these lines until I stop my kernel, but bochs doesn't complain, so I think that my handler for this exception (which is "general protection fault") works correctly, and this means that my IDT is correct (I just didn't implement TSS support yet).
Anyway, thanks for giving me the solution to my pb