[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 11/11] ARM: virt: Don't generate RTC ACPI device when
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 11/11] ARM: virt: Don't generate RTC ACPI device when using UEFI |
Date: |
Fri, 15 Jan 2016 15:24:05 +0000 |
From: Shannon Zhao <address@hidden>
When booting the VM with UEFI, UEFI takes ownership of the RTC hardware.
While UEFI can use libfdt to disable the RTC device node in the DTB that
it passes to the OS, it cannot modify AML. Therefore, we won't generate
the RTC ACPI device at all when using UEFI.
Signed-off-by: Shannon Zhao <address@hidden>
Acked-by: Ard Biesheuvel <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
---
hw/arm/virt-acpi-build.c | 24 +++++-------------------
1 file changed, 5 insertions(+), 19 deletions(-)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 0caf5ce..0d5c635 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -94,23 +94,6 @@ static void acpi_dsdt_add_uart(Aml *scope, const MemMapEntry
*uart_memmap,
aml_append(scope, dev);
}
-static void acpi_dsdt_add_rtc(Aml *scope, const MemMapEntry *rtc_memmap,
- uint32_t rtc_irq)
-{
- Aml *dev = aml_device("RTC0");
- aml_append(dev, aml_name_decl("_HID", aml_string("LNRO0013")));
- aml_append(dev, aml_name_decl("_UID", aml_int(0)));
-
- Aml *crs = aml_resource_template();
- aml_append(crs, aml_memory32_fixed(rtc_memmap->base,
- rtc_memmap->size, AML_READ_WRITE));
- aml_append(crs,
- aml_interrupt(AML_CONSUMER, AML_LEVEL, AML_ACTIVE_HIGH,
- AML_EXCLUSIVE, &rtc_irq, 1));
- aml_append(dev, aml_name_decl("_CRS", crs));
- aml_append(scope, dev);
-}
-
static void acpi_dsdt_add_flash(Aml *scope, const MemMapEntry *flash_memmap)
{
Aml *dev, *crs;
@@ -571,12 +554,15 @@ build_dsdt(GArray *table_data, GArray *linker,
VirtGuestInfo *guest_info)
/* Reserve space for header */
acpi_data_push(dsdt->buf, sizeof(AcpiTableHeader));
+ /* When booting the VM with UEFI, UEFI takes ownership of the RTC hardware.
+ * While UEFI can use libfdt to disable the RTC device node in the DTB that
+ * it passes to the OS, it cannot modify AML. Therefore, we won't generate
+ * the RTC ACPI device at all when using UEFI.
+ */
scope = aml_scope("\\_SB");
acpi_dsdt_add_cpus(scope, guest_info->smp_cpus);
acpi_dsdt_add_uart(scope, &memmap[VIRT_UART],
(irqmap[VIRT_UART] + ARM_SPI_BASE));
- acpi_dsdt_add_rtc(scope, &memmap[VIRT_RTC],
- (irqmap[VIRT_RTC] + ARM_SPI_BASE));
acpi_dsdt_add_flash(scope, &memmap[VIRT_FLASH]);
acpi_dsdt_add_virtio(scope, &memmap[VIRT_MMIO],
(irqmap[VIRT_MMIO] + ARM_SPI_BASE), NUM_VIRTIO_TRANSPORTS);
--
1.9.1
- [Qemu-devel] [PULL 00/11] target-arm queue, Peter Maydell, 2016/01/15
- [Qemu-devel] [PULL 02/11] xlnx-zynqmp: Add support for high DDR memory regions, Peter Maydell, 2016/01/15
- [Qemu-devel] [PULL 01/11] target-arm: Use the right MMU index in arm_regime_using_lpae_format, Peter Maydell, 2016/01/15
- [Qemu-devel] [PULL 06/11] dump: allow target to set the physical base, Peter Maydell, 2016/01/15
- [Qemu-devel] [PULL 11/11] ARM: virt: Don't generate RTC ACPI device when using UEFI,
Peter Maydell <=
- [Qemu-devel] [PULL 07/11] target-arm: support QMP dump-guest-memory, Peter Maydell, 2016/01/15
- [Qemu-devel] [PULL 10/11] target-arm: dump-guest-memory: add vfp notes for arm, Peter Maydell, 2016/01/15
- [Qemu-devel] [PULL 04/11] dump: qemunotes aren't commonly needed, Peter Maydell, 2016/01/15
- [Qemu-devel] [PULL 09/11] elf: add arm note types, Peter Maydell, 2016/01/15
- [Qemu-devel] [PULL 08/11] target-arm: dump-guest-memory: add prfpreg notes for aarch64, Peter Maydell, 2016/01/15
- [Qemu-devel] [PULL 03/11] qapi-schema: dump-guest-memory: Improve text, Peter Maydell, 2016/01/15
- [Qemu-devel] [PULL 05/11] dump: allow target to set the page size, Peter Maydell, 2016/01/15
- Re: [Qemu-devel] [PULL 00/11] target-arm queue, Peter Maydell, 2016/01/15