apm: fix shutdown
commit5b63109242042372c1d6c3d23602e980f1c9637b
authorGerd Hoffmann <kraxel@redhat.com>
Thu, 25 Jul 2013 07:47:18 +0000 (25 09:47 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 8 Aug 2013 09:14:42 +0000 (8 11:14 +0200)
tree6bcfe70dc92b54dbc8cc223d975adeeee585dcba
parentd4c2e01b8fe519d53244cd709ec145f7afaf1801
apm: fix shutdown

Qemu commit 9ee59f3 removed the bochs bios apm interface emulation at
port 0x8900.  That broke poweroff via APM.  Fix it by powering off the
machine using the acpi pm control register.

Old code is left in, so seabios wil try both poweroff methods.  Cleaning
that eventually up is left for another patch, after checking it isn't
needed.  Qemu never implemented "Standby" and "Suspend", only
"Shutdown", so it looks like there might be non-qemu use cases (bochs
probably).

Easiest way to test this is the syslinux poweroff module; modern linux
distros usually have CONFIG_APM turned off.

Reported-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
src/acpi.c
src/acpi.h
src/apm.c
src/pciinit.c