Re: [PATCH] Use BIOS reboot on Toshiba Portege 4000

From: Avi Kivity
Date: Tue Nov 04 2008 - 05:48:59 EST


Eric W. Biederman wrote:
I think we are confusing two issues here.

- Ordinary machine_restart which happens to call emergency_restart.
And is proceeded by machine_shutdown.

- And emergency_restart itself.

To some extent I would be a lot happier if Alt-sysrq-r did what
was necessary to get into a context where it can call machine_restart
or even better kernel_restart().
emergency_restart() is a nice idea but is broken by design.


Isn't emergency_restart() equivalent to kexec()? Both start from indeterminite conditions.

That said. If we can turn off vmx on that one processor.
That should be enough for the cpu to triple fault and let
the BIOS do what it needs to do on that cpu i.e. outb(magic, 0x92)
and toggle a motherboard level reset?


If triple fault is wired to INIT (as it is at least on some systems; for example one of mine) then the cpu will reset, but why will the bios proceed to issue a motherboard reset? Won't it happily POST it's way to boot (leaving the other cpus dead)?

If I read the earlier comments correctly the deep issue is
that going through ACPI to reset systems is less reliable than
doing it the classic way.

It depends on the system; both are unreliable. But if we use the same trick as with kdump (NMI SIPI + vmxoff) the choice will be orthogonal to whether vmx is in use or not.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/