From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53934) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aJN0U-0001u6-IQ for qemu-devel@nongnu.org; Wed, 13 Jan 2016 10:06:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aJN0T-0007H0-GA for qemu-devel@nongnu.org; Wed, 13 Jan 2016 10:06:42 -0500 References: <1452696857-4091-1-git-send-email-shannon.zhao@linaro.org> From: Laszlo Ersek Message-ID: <569667F9.4030800@redhat.com> Date: Wed, 13 Jan 2016 16:06:33 +0100 MIME-Version: 1.0 In-Reply-To: <1452696857-4091-1-git-send-email-shannon.zhao@linaro.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] ARM: Virt: Don't generate RTC ACPI device when using UEFI List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Shannon Zhao , qemu-arm@nongnu.org Cc: peter.maydell@linaro.org, edk2-devel@ml01.01.org, zhaoshenglong@huawei.com, qemu-devel@nongnu.org, ard.biesheuvel@linaro.org On 01/13/16 15:54, Shannon Zhao wrote: > 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 > --- > v2: just totally don't generate the RTC ACPI device when using UEFI > --- > hw/arm/virt-acpi-build.c | 19 ------------------- > 1 file changed, 19 deletions(-) > > diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c > index 0caf5ce..ac568a3 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; > @@ -575,8 +558,6 @@ build_dsdt(GArray *table_data, GArray *linker, VirtGuestInfo *guest_info) > 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); > Reviewed-by: Laszlo Ersek