Date: Thu, 11 Mar 2004 12:32:42 -0500 From: John Baldwin <jhb@FreeBSD.org> To: Jason Dictos <jason.dictos@yosemitetech.com> Cc: "''freebsd-hardware@freebsd.org' '" <freebsd-hardware@freebsd.org> Subject: Re: How to use int 13 while BSD is running Message-ID: <200403111232.42294.jhb@FreeBSD.org> In-Reply-To: <E50A109EE98AA049BAA09D725DB0714F01AD3BDB@mail.tapeware.com> References: <E50A109EE98AA049BAA09D725DB0714F01AD3BDB@mail.tapeware.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 11 March 2004 12:55 am, Jason Dictos wrote: > Hello again. > > I did some reading on the pentium processor manual, and I think I > finally understand what the set of vm86 functions do. They use the intel > processors virtual 8086 processor compatability mode to issue virtual > interrups. My question is now, what prevents such int 13 type interrups > using the vm86 set of apis (as found in biosdisk.c, in the BTX loader code) > from working from working in a standard BSD running system? Well, for one thing, the BIOS drivers for your hardware are going to want working interrupts, and running in a full BSD kernel isn't going to give you that. Since BTX routes all interrupts via vm86 mode back to the original real mode interrupt handlers, it still works ok for any device that has a BIOS. It might be possible to achieve this with a BSD kernel but it would be a pain. One problem is that you don't know what IRQs the hardware is using. Note that the BTX user app has a mostly flat address space that allows it to get to everything above 0x10000 (I think that's the number, might be 0xa000). Trying to get multithreading plus vm86 interrupt handlers is going to require a good bit of work either way (either trying to let the kernel do vm86 interrupts or trying to extend BTX to allow multiple tasks). -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403111232.42294.jhb>