Messages in this thread | | | Date | Tue, 04 Nov 2008 12:47:23 +0200 | From | Avi Kivity <> | Subject | Re: [PATCH] Use BIOS reboot on Toshiba Portege 4000 |
| |
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
| |