On Sun, Jun 21, 2009 at 03:05:56PM -0400, Pavel Roskin wrote: > On Sun, 2009-06-21 at 20:54 +0200, Robert Millan wrote: > > Move grub_stop to init.c to ease code sharing with i386-qemu. > > That's not quite a movement. grub_cpu_idle() does nothing.
Well, the major problem with grub_cpu_idle() doing nothing on coreboot is CPU consumption during polls. grub_stop() is quite a corner case, only seen when you hit an error. > I think we need to have several implementations of grub_stop: hard halt > with interrupts disabled, exit from qemu, exit from other emulators if > it's different, power off, exit to BIOS. Then different platforms > should enable and try whatever is appropriate for them. Note that we already have: grub_stop: Just hang. grub_exit: Exit to BIOS/whatever. On coreboot (and on i386-qemu) there's really no "proper" thing to do. Maybe fallback to grub_halt or grub_fatal. grub_halt: Power off. Theoretically we can have it anywhere, although in some platforms like coreboot it's not easy; otherwise it can fallback to grub_stop. I think grub_stop is intended to have this behaviour in all platforms. But I'm not sure how useful is it. Perhaps it could be ditched in favour of grub_exit? -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel