83 lines
3.2 KiB
Diff
83 lines
3.2 KiB
Diff
From dcac680adb6b8624f14eda3e812521bddbe8ecea Mon Sep 17 00:00:00 2001
|
|
From: Jon Maloy <jmaloy@redhat.com>
|
|
Date: Wed, 21 Apr 2021 22:30:04 -0400
|
|
Subject: [PATCH 5/7] acpi: accept byte and word access to core ACPI registers
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
RH-Author: Jon Maloy <jmaloy@redhat.com>
|
|
Message-id: <20210421223006.19650-5-jmaloy@redhat.com>
|
|
Patchwork-id: 101482
|
|
O-Subject: [RHEL-8.5.0 qemu-kvm PATCH v2 4/6] acpi: accept byte and word access to core ACPI registers
|
|
Bugzilla: 1842478
|
|
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
|
|
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
|
|
|
From: Michael Tokarev <mjt@tls.msk.ru>
|
|
|
|
All ISA registers should be accessible as bytes, words or dwords
|
|
(if wide enough). Fix the access constraints for acpi-pm-evt,
|
|
acpi-pm-tmr & acpi-cnt registers.
|
|
|
|
Fixes: 5d971f9e67 (memory: Revert "memory: accept mismatching sizes in memory_region_access_valid")
|
|
Fixes: afafe4bbe0 (apci: switch cnt to memory api)
|
|
Fixes: 77d58b1e47 (apci: switch timer to memory api)
|
|
Fixes: b5a7c024d2 (apci: switch evt to memory api)
|
|
Buglink: https://lore.kernel.org/xen-devel/20200630170913.123646-1-anthony.perard@citrix.com/T/
|
|
Buglink: https://bugs.debian.org/964793
|
|
BugLink: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=964247
|
|
BugLink: https://bugs.launchpad.net/bugs/1886318
|
|
Reported-By: Simon John <git@the-jedi.co.uk>
|
|
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
|
|
Message-Id: <20200720160627.15491-1-mjt@msgid.tls.msk.ru>
|
|
Cc: qemu-stable@nongnu.org
|
|
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
(cherry picked from commit dba04c3488c4699f5afe96f66e448b1d447cf3fb)
|
|
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
|
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
|
---
|
|
hw/acpi/core.c | 9 ++++++---
|
|
1 file changed, 6 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/hw/acpi/core.c b/hw/acpi/core.c
|
|
index 45cbed49ab..d85052c34a 100644
|
|
--- a/hw/acpi/core.c
|
|
+++ b/hw/acpi/core.c
|
|
@@ -461,7 +461,8 @@ static void acpi_pm_evt_write(void *opaque, hwaddr addr, uint64_t val,
|
|
static const MemoryRegionOps acpi_pm_evt_ops = {
|
|
.read = acpi_pm_evt_read,
|
|
.write = acpi_pm_evt_write,
|
|
- .valid.min_access_size = 2,
|
|
+ .impl.min_access_size = 2,
|
|
+ .valid.min_access_size = 1,
|
|
.valid.max_access_size = 2,
|
|
.endianness = DEVICE_LITTLE_ENDIAN,
|
|
};
|
|
@@ -530,7 +531,8 @@ static void acpi_pm_tmr_write(void *opaque, hwaddr addr, uint64_t val,
|
|
static const MemoryRegionOps acpi_pm_tmr_ops = {
|
|
.read = acpi_pm_tmr_read,
|
|
.write = acpi_pm_tmr_write,
|
|
- .valid.min_access_size = 4,
|
|
+ .impl.min_access_size = 4,
|
|
+ .valid.min_access_size = 1,
|
|
.valid.max_access_size = 4,
|
|
.endianness = DEVICE_LITTLE_ENDIAN,
|
|
};
|
|
@@ -602,7 +604,8 @@ static void acpi_pm_cnt_write(void *opaque, hwaddr addr, uint64_t val,
|
|
static const MemoryRegionOps acpi_pm_cnt_ops = {
|
|
.read = acpi_pm_cnt_read,
|
|
.write = acpi_pm_cnt_write,
|
|
- .valid.min_access_size = 2,
|
|
+ .impl.min_access_size = 2,
|
|
+ .valid.min_access_size = 1,
|
|
.valid.max_access_size = 2,
|
|
.endianness = DEVICE_LITTLE_ENDIAN,
|
|
};
|
|
--
|
|
2.27.0
|
|
|