From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33380) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zbfnb-0002Xu-JP for qemu-devel@nongnu.org; Mon, 14 Sep 2015 22:16:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZbfnY-0005uD-9K for qemu-devel@nongnu.org; Mon, 14 Sep 2015 22:16:47 -0400 Received: from szxga01-in.huawei.com ([58.251.152.64]:51284) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbfnX-0005sT-Fg for qemu-devel@nongnu.org; Mon, 14 Sep 2015 22:16:44 -0400 Message-ID: <55F77D35.4020302@huawei.com> Date: Tue, 15 Sep 2015 10:06:45 +0800 From: Shannon Zhao MIME-Version: 1.0 References: <1442242653-23284-1-git-send-email-somlo@cmu.edu> <1442242653-23284-5-git-send-email-somlo@cmu.edu> In-Reply-To: <1442242653-23284-5-git-send-email-somlo@cmu.edu> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 4/5] acpi: arm: add fw_cfg device node to dsdt List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Gabriel L. Somlo" , qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, drjones@redhat.com, matt.fleming@intel.com, ehabkost@redhat.com, mst@redhat.com, ard.biesheuvel@linaro.org, leif.lindholm@linaro.org, kevin@koconnor.net, kraxel@redhat.com, pbonzini@redhat.com, imammedo@redhat.com, markmb@redhat.com, lersek@redhat.com, rth@twiddle.net On 2015/9/14 22:57, Gabriel L. Somlo wrote: > Add a fw_cfg device node to the ACPI DSDT. This is mostly > informational, as the authoritative fw_cfg MMIO region(s) > are listed in the Device Tree. However, since we are building > ACPI tables, we might as well be thorough while at it... > > Signed-off-by: Gabriel Somlo > --- > hw/arm/virt-acpi-build.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c > index 9088248..dcf9752 100644 > --- a/hw/arm/virt-acpi-build.c > +++ b/hw/arm/virt-acpi-build.c > @@ -110,6 +110,18 @@ static void acpi_dsdt_add_rtc(Aml *scope, const MemMapEntry *rtc_memmap, > aml_append(scope, dev); > } > > +static void acpi_dsdt_add_fw_cfg(Aml *scope, const MemMapEntry *fw_cfg_memmap) > +{ > + Aml *dev = aml_device("FWCF"); > + aml_append(dev, aml_name_decl("_HID", aml_string("QEMU0002"))); > + > + Aml *crs = aml_resource_template(); > + aml_append(crs, aml_memory32_fixed(fw_cfg_memmap->base, > + fw_cfg_memmap->size, AML_READ_WRITE)); > + 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; > @@ -519,6 +531,7 @@ build_dsdt(GArray *table_data, GArray *linker, VirtGuestInfo *guest_info) > (irqmap[VIRT_UART] + ARM_SPI_BASE)); > acpi_dsdt_add_rtc(scope, &memmap[VIRT_RTC], > (irqmap[VIRT_RTC] + ARM_SPI_BASE)); > + acpi_dsdt_add_fw_cfg(scope, &memmap[VIRT_FW_CFG]); > 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); > This looks fine to me. But from what you said, the kernel driver is not in upstream kernel yet, so this would be applied after the kernel patch applied in case of unexpected change. Thanks, -- Shannon