From: Pavel Roskin <proski@gnu.org>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: [PATCH] move grub_stop() (Re: [PATCH] i386-qemu port)
Date: Sun, 21 Jun 2009 22:14:13 -0400 [thread overview]
Message-ID: <1245636853.9864.74.camel@mj> (raw)
In-Reply-To: <20090621192555.GB21827@thorin>
On Sun, 2009-06-21 at 21:25 +0200, Robert Millan wrote:
> 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 this should do the right thing if our goal is to stop:
cli
halt:
hlt
jmp halt
The last "jmp" is just in case for non-maskable interrupts.
> > 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?
From the user's standpoint, I think three "stop-like" calls make sense:
Try to exit so that BIOS can try another media. Failing that, hang.
That would be appropriate for installations on disks that may or may not
be bootable. That's grub_exit().
Try for power down the system (that includes telling the emulator to
stop). Failing that, hang. That would be appropriate for data centers
where we don't want non-functioning systems to consume power. That's
grub_halt().
Just stop. Appropriate if there is an important message on the screen
that the user must see.
--
Regards,
Pavel Roskin
next prev parent reply other threads:[~2009-06-22 2:14 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-21 18:17 [PATCH] i386-qemu port Robert Millan
2009-06-21 18:50 ` does module area require alignment? (Re: [PATCH] i386-qemu port) Robert Millan
2009-06-21 19:08 ` Pavel Roskin
2009-06-21 19:33 ` Robert Millan
2009-06-22 12:31 ` [PATCH] define GRUB_MOD_ALIGN to 0 on non-ieee1275 (Re: does module area require alignment? (Re: [PATCH] i386-qemu port)) Robert Millan
2009-06-22 19:43 ` Pavel Roskin
2009-06-22 20:41 ` Robert Millan
2009-06-22 20:51 ` Pavel Roskin
2009-06-22 21:22 ` Robert Millan
2009-06-22 21:45 ` Pavel Roskin
2009-06-22 22:31 ` Robert Millan
2009-06-22 19:51 ` does module area require alignment? (Re: [PATCH] i386-qemu port) Pavel Roskin
2009-06-22 22:50 ` Vladimir 'phcoder' Serbinenko
2009-06-23 0:10 ` Pavel Roskin
2009-06-21 18:54 ` [PATCH] move grub_stop() " Robert Millan
2009-06-21 19:05 ` Pavel Roskin
2009-06-21 19:25 ` Robert Millan
2009-06-22 2:14 ` Pavel Roskin [this message]
2009-06-22 10:10 ` Robert Millan
2009-06-22 16:16 ` Pavel Roskin
2009-06-22 18:05 ` Robert Millan
2009-06-21 19:00 ` [PATCH] i386-qemu port Pavel Roskin
2009-06-21 19:30 ` Robert Millan
2009-06-22 12:45 ` Robert Millan
2009-06-21 20:34 ` Robert Millan
2009-06-21 20:40 ` Vladimir 'phcoder' Serbinenko
2009-06-21 19:19 ` [PATCH] rename kernel.elf to kernel.img (Re: [PATCH] i386-qemu port) Robert Millan
2009-06-22 2:20 ` Pavel Roskin
2009-06-22 10:27 ` Robert Millan
2009-06-21 19:52 ` [PATCH] swap real_to_prot() and prot_to_real() " Robert Millan
2009-06-22 1:56 ` Pavel Roskin
2009-06-22 10:45 ` Robert Millan
2009-06-21 20:22 ` [PATCH] i386-qemu port Robert Millan
2009-06-22 1:50 ` Pavel Roskin
2009-06-22 10:57 ` Robert Millan
2009-06-21 22:53 ` [PATCH] access gdtdesc on segment 0 unconditionally (Re: [PATCH] i386-qemu port) Robert Millan
2009-06-22 1:22 ` Pavel Roskin
2009-06-22 9:52 ` Robert Millan
2009-06-22 19:39 ` Pavel Roskin
2009-06-22 20:52 ` Robert Millan
2009-06-22 21:32 ` Robert Millan
2009-06-22 21:44 ` Pavel Roskin
2009-06-22 22:43 ` Robert Millan
2009-06-23 0:53 ` Pavel Roskin
2009-06-23 11:02 ` Robert Millan
2009-06-22 21:36 ` Pavel Roskin
2009-06-22 22:52 ` Robert Millan
2009-06-22 10:26 ` about Apple compiler (Re: [PATCH] access gdtdesc on segment 0 unconditionally (Re: [PATCH] i386-qemu port)) Robert Millan
2009-06-22 16:10 ` Pavel Roskin
2009-06-22 15:02 ` [PATCH] s/GRUB_MEMORY_MACHINE_LINK_ADDR/GRUB_KERNEL_MACHINE_LINK_ADDR/g (Re: [PATCH] i386-qemu port) Robert Millan
2009-06-22 19:00 ` Pavel Roskin
2009-06-22 23:07 ` clean patch for i386-qemu port " Robert Millan
2009-06-23 1:29 ` Pavel Roskin
2009-06-23 11:38 ` Robert Millan
2009-06-23 12:13 ` Robert Millan
2009-06-24 1:00 ` Robert Millan
2009-06-24 23:10 ` [PATCH] fix for loading modules from read-only memory area (Re: clean patch for i386-qemu port (Re: [PATCH] i386-qemu port)) Robert Millan
2009-06-25 19:53 ` Pavel Roskin
2009-06-25 20:31 ` Robert Millan
2009-06-25 20:51 ` Pavel Roskin
2009-06-26 14:41 ` Robert Millan
2009-06-26 16:44 ` Pavel Roskin
2009-06-26 17:03 ` Robert Millan
2009-06-26 17:16 ` Pavel Roskin
2009-06-26 17:43 ` Robert Millan
2009-06-26 19:52 ` Pavel Roskin
2009-06-26 22:26 ` Pavel Roskin
2009-06-26 23:57 ` Robert Millan
2009-06-27 3:08 ` Pavel Roskin
2009-06-27 11:18 ` Robert Millan
2009-06-29 3:48 ` Pavel Roskin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1245636853.9864.74.camel@mj \
--to=proski@gnu.org \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.