From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53068) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtRLm-0002zR-Rr for qemu-devel@nongnu.org; Mon, 02 Nov 2015 21:29:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZtRLi-0004jY-1U for qemu-devel@nongnu.org; Mon, 02 Nov 2015 21:29:30 -0500 Received: from szxga02-in.huawei.com ([119.145.14.65]:54761) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtRLh-0004f9-A6 for qemu-devel@nongnu.org; Mon, 02 Nov 2015 21:29:25 -0500 Message-ID: <56381B26.6010900@huawei.com> Date: Tue, 3 Nov 2015 10:25:42 +0800 From: Shannon Zhao MIME-Version: 1.0 References: <1446460786-13663-1-git-send-email-graeme.gregory@linaro.org> In-Reply-To: <1446460786-13663-1-git-send-email-graeme.gregory@linaro.org> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] hw/arm/virt-acpi-build: _CCA attribute is compulsary List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Graeme Gregory , qemu-devel@nongnu.org Cc: shannon.zhao@linaro.org, tomasz.nowicki@linaro.org Hi Graeme, On 2015/11/2 18:39, Graeme Gregory wrote: > According to ACPI specification 6.2.17 _CCA (Cache Coherency Attribute) > this attribute is compulsary on ARM systems. Add this attribute to > the PCI host bridges as required. > To ACPI 5.1 this object is not compulsory and if not supplied it has default value for it. But to ACPI 6.0 it must be supplied on ARM systems. Regarding this change, ACPI 6.0 fixes 5.1 for this object, right? > Without this the kernel will produce the error > [Firmware Bug]: PCI device 0000:00:00.0 fail to setup DMA. > > Signed-off-by: Graeme Gregory > --- > hw/arm/virt-acpi-build.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c > index 1aaff1f..1430125 100644 > --- a/hw/arm/virt-acpi-build.c > +++ b/hw/arm/virt-acpi-build.c > @@ -180,6 +180,7 @@ static void acpi_dsdt_add_pci(Aml *scope, const MemMapEntry *memmap, int irq, > aml_append(dev, aml_name_decl("_ADR", aml_int(0))); > aml_append(dev, aml_name_decl("_UID", aml_string("PCI0"))); > aml_append(dev, aml_name_decl("_STR", aml_unicode("PCIe 0 Device"))); > + aml_append(dev, aml_name_decl("_CCA", aml_int(1))); > > /* Declare the PCI Routing Table. */ > Aml *rt_pkg = aml_package(nr_pcie_buses * PCI_NUM_PINS); > -- Shannon