Re: [NILO-discuss] Zen and the art of running in real mode
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Michael B. <mb...@fe...> - 2005-03-09 12:33:06
|
On Tue, 8 Mar 2005, Marty Connor wrote: > > Not all drivers *can* be modified to use in/out (i.e. portio) as > > opposed to read/write (i.e. MMIO.) It's a function of the hardware. > So does this mean that any loader being used with these cards would have > to use PM to have any chance of working? In practical terms, yes. > > Perhaps the first thing to do is to print a legible message if > > something tries to call the PM entry point and/or invoke the RM entry > > point in V86 mode. Something asking them to report what they're > > trying to do, and we could evaluate the importance at that point. > Is this what we think FreeBSD is doing when talking to Etherboot? Yes. To be fair: I haven't *tried* FreeBSD's PXE loader in bochs to see what it does, but I can see from the code that it uses V86 mode and people have reported that it does, indeed, fail. > I get the feeling that success may depend on: > - Whether there card uses MMIO or portio > - Whether the loader they intend to use tries to: > "call the PM entry point and/or invoke the RM entry point in V86 > mode" > > Now, since most people probably don't know the answer to either of > these questions, I think we might have to recommend options based on > either scenarios, or most-likely-to-work options (e.g. "Try this first > unless you are planning to boot FREEBSD" or "If you are planning to use > RIS, check this box"). The MMIO/portio issue is driver-specific. Drivers that use MMIO will use readX/writeX. Since these functions won't work under -DKEEP_IT_REAL, we could just make the compiler throw an error. Michael |