address of int80 idt
Quoted 6 lines · bugghy
The problem is that on some kernels 2.4.22 (and I think on 2.6.7, 2.2.26 and 2.4.26 too) on vmware sidt returns a bogus address for idtr.base:
idtr.base=0xffc6a370 (2.4.22)If I try to read from
/dev/kmemfrom this address it doesn't work.
It is feature, not a bug... Well, it is bug, but not easily fixable. Either check 'Disable acceleration' checkbox in VM configuration, or, if you want portable solution (if your program has root privileges), call iopl(3) before issuing sidt. Or issue sidt in the kernel, not in userspace.
Best regards,
Petr Vandrovec