diff options
author | Paulo Alcantara | 2015-06-28 19:58:58 +0200 |
---|---|---|
committer | Michael S. Tsirkin | 2015-07-08 09:09:55 +0200 |
commit | 5add35bec1e249bb5345a47008c8f298d4760be4 (patch) | |
tree | fc4186d1a21bd7bc5868b175860507201e70a539 /hw/acpi/tco.c | |
parent | tests: add testcase for TCO watchdog emulation (diff) | |
download | qemu-5add35bec1e249bb5345a47008c8f298d4760be4.tar.gz qemu-5add35bec1e249bb5345a47008c8f298d4760be4.tar.xz qemu-5add35bec1e249bb5345a47008c8f298d4760be4.zip |
ich9: implement strap SPKR pin logic
If the signal is sampled high, this indicates that the system is
strapped to the "No Reboot" mode (ICH9 will disable the TCO Timer system
reboot feature). The status of this strap is readable via the NO_REBOOT
bit (CC: offset 0x3410:bit 5).
The NO_REBOOT bit is set when SPKR pin on ICH9 is sampled high. This bit
may be set or cleared by software if the strap is sampled low but may
not override the strap when it indicates "No Reboot".
This patch implements the logic where hardware has ability to set SPKR
pin through a property named "noreboot" and it's sampled high by
default.
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/acpi/tco.c')
-rw-r--r-- | hw/acpi/tco.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/acpi/tco.c b/hw/acpi/tco.c index 1794a54545..7a026c255b 100644 --- a/hw/acpi/tco.c +++ b/hw/acpi/tco.c @@ -64,7 +64,7 @@ static void tco_timer_expired(void *opaque) tr->tco.sts2 |= TCO_BOOT_STS; tr->timeouts_no = 0; - if (!(gcs & ICH9_CC_GCS_NO_REBOOT)) { + if (!lpc->pin_strap.spkr_hi && !(gcs & ICH9_CC_GCS_NO_REBOOT)) { watchdog_perform_action(); tco_timer_stop(tr); return; |