On Wed, Aug 27, 2003 at 07:37:58AM -0600, ron minnich wrote:
Btw, I've noticed that the idt.c (realmode int handler) puts "stub"s starting at 0x400 (1024). It installs 256 stubs, 9 bytes each, so they occupy 256*9=2304 bytes from 0x400. The 256 bytes (or more?) starting at 0x400 is the BIOS Data Area, and VGABIOS tends to rewrite some bytes in it. So, it might damage the int handler before calling it.
that's a very good thing to know!
Where would you like to see the stubs moved?
I think any address below 64K is ok without more modifications to the code. You put realmode stack at 4K (and below). LinuxBIOS starts at 32K for most configurations(?). So, putting stubs at 4K (0x1000) makes sense, I think.
-- Takeshi