grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] move grub_stop() (Re: [PATCH] i386-qemu port)


From: Robert Millan
Subject: Re: [PATCH] move grub_stop() (Re: [PATCH] i386-qemu port)
Date: Sun, 21 Jun 2009 21:25:55 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

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."




reply via email to

[Prev in Thread] Current Thread [Next in Thread]