Hi Tom, On Sun, Apr 06, 2008 at 01:34:11PM +0200, Tom Ehlert wrote: > a) freedos *always* calls int13 on the block device stack > with stack bottom > DOS DS:aa0 > and top DOS DS:ee2 (384 byte); DOS DS is usually 0x00D0 or 0x00d1
I don't understand: 0xee2 - 0xaa0 is 1090 bytes. > without config.sys > stacks=9,512 > > interrupts are serviced on the stack that happens to be in use at > interrupt time > > with stacks=9,512 DOS installs a stack of 512 byte before calling the > interrupt handler Thanks - I'll give it a try. > OTOH I'm wandering why you don't just turn any int 13 read/write > request into a VM_CALL(DiskRead, buffer, num_sectors) or similar > this should be *much* faster The bochs bios is used by at least 5 projects: bochs, qemu, kvm, virtualbox, and coreboot. These projects also support OSes that directly access the hardware (eg, Linux and Windows). So, it wouldn't make sense to also have to support emulated bios calls. In the case of coreboot the goal is to implement an open source bios for real hardware. > lbacache tuns: 03a6:00cd = 03fa:00ec (stack start at 03fa:0000) > > you might be able to set a memory break point at 3fa:0000; either > using the debugger, or compiling into the virtual machine directly > (I have no idea what the Bochs debugger is able to do) > > if the debugger fires, find out which interrupt was called ... Thanks. The general feedback I'm getting is that 236 bytes of stack space should be sufficient for a bios call (and any ISRs). I can make this work today, but adding new features (eg, support for hard drives over 2 TB) is becoming difficult. I don't want to drop support for freedos. One option is to have the bios use its own stack - but that raises new questions - where to put it and does the bios have to handle recursive calls. I'll send a separate email. -Kevin ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Register now and save $200. Hurry, offer ends at 11:59 p.m., Monday, April 7! Use priority code J8TLD2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel