On Sat, Aug 16, 2008 at 02:33:17PM +0200, Robert Millan wrote: > On Fri, Aug 15, 2008 at 10:11:09PM -0500, David Fries wrote: > > [...]. Until I have an > > application for it, I'll have to let someone else implement support > > for grub_cpu_idle. > > We have 4 ports on i386. A proper implementation of grub_cpu_idle > should work fine on all of them. When I say "proper" I mean that > 'hlt' instruction should be usable without doing strange gimmicks.
<sarcasm> Gasp, grub_biosdisk_rw calls grub_biosdisk_rw_int13_extensions which for i386/pc call prot_to_real and back. There's like 40 other calls doing this strange gimmick of going to real mode for various things. </sarcasm> > Your patch simply works around the fact that 'hlt' is broken on 32-bit by > going back to i8086 mode in order to use it. Pavel Roskin didn't like an earlier patch of mine to add a whole 10 assembly instructions to the core.mod. This is the first time I've dealt with the uglieness of BIOS, but I don't see why anyone would trade a straight forward 6 instruction grub_cpu_idle to make use of the BIOS facilities, for reimplementing an interrupt stack and drivers to acknowledge those interrupts, when grub heavily depends on BIOS to be there and working. I believe that's what one calls platform specific. i386/pc provides the support required for hlt to work, coreboot doesn't, it's coreboot that would need interrupts setup, a different platform, a different solution, and very much independent. Maybe I should mention that hlt is already being used in real mode. Protected mode interrupts would cause that to break. -- David Fries <[EMAIL PROTECTED]> http://fries.net/~david/ (PGP encryption key available) _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel