[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 13/13] acpi: accurate overflow check
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 13/13] acpi: accurate overflow check |
Date: |
Thu, 13 Nov 2014 16:40:28 +0100 |
From: Pavel Dovgalyuk <address@hidden>
Compare clock in ns, because acpi_pm_tmr_update uses rounded
to ns value instead of ticks.
Signed-off-by: Pavel Dovgalyuk <address@hidden>
[This lets Windows boot in icount mode. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>
---
hw/acpi/core.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/hw/acpi/core.c b/hw/acpi/core.c
index a7368fb..51913d6 100644
--- a/hw/acpi/core.c
+++ b/hw/acpi/core.c
@@ -376,8 +376,11 @@ static void acpi_notify_wakeup(Notifier *notifier, void
*data)
/* ACPI PM1a EVT */
uint16_t acpi_pm1_evt_get_sts(ACPIREGS *ar)
{
- int64_t d = acpi_pm_tmr_get_clock();
- if (d >= ar->tmr.overflow_time) {
+ /* Compare ns-clock, not PM timer ticks, because
+ acpi_pm_tmr_update function uses ns for setting the timer. */
+ int64_t d = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL);
+ if (d >= muldiv64(ar->tmr.overflow_time,
+ get_ticks_per_sec(), PM_TIMER_FREQUENCY)) {
ar->pm1.evt.sts |= ACPI_BITMASK_TIMER_STATUS;
}
return ar->pm1.evt.sts;
--
1.8.3.1
- [Qemu-devel] [PULL 03/13] esp: fix coding standards, (continued)
- [Qemu-devel] [PULL 03/13] esp: fix coding standards, Paolo Bonzini, 2014/11/13
- [Qemu-devel] [PULL 04/13] virtio-scsi: dataplane: fix allocation for 'cmd_vrings', Paolo Bonzini, 2014/11/13
- [Qemu-devel] [PULL 05/13] esp: Do not overwrite ESP_TCHI after reset, Paolo Bonzini, 2014/11/13
- [Qemu-devel] [PULL 06/13] virtio-scsi: dataplane: suppress guest notification, Paolo Bonzini, 2014/11/13
- [Qemu-devel] [PULL 09/13] apic_common: migrate missing fields, Paolo Bonzini, 2014/11/13
- [Qemu-devel] [PULL 11/13] kvmclock: Add comment explaining why we need cpu_clean_all_dirty(), Paolo Bonzini, 2014/11/13
- [Qemu-devel] [PULL 07/13] virtio-scsi: Fix comment for VirtIOSCSIReq, Paolo Bonzini, 2014/11/13
- [Qemu-devel] [PULL 08/13] target-i386: eliminate dead code and hoist common code out of "if", Paolo Bonzini, 2014/11/13
- [Qemu-devel] [PULL 12/13] smbios: change 'ram_addr_t' variables to 'uint64_t', Paolo Bonzini, 2014/11/13
- [Qemu-devel] [PULL 10/13] target-i386: fix Coverity complaints about overflows, Paolo Bonzini, 2014/11/13
- [Qemu-devel] [PULL 13/13] acpi: accurate overflow check,
Paolo Bonzini <=
- Re: [Qemu-devel] [PULL 00/13] x86 and SCSI patches for QEMU 2.2.0-rc2, Peter Maydell, 2014/11/13