From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36097) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtXZj-00049R-8f for qemu-devel@nongnu.org; Tue, 03 Nov 2015 04:08:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZtXZe-0000BE-MT for qemu-devel@nongnu.org; Tue, 03 Nov 2015 04:08:19 -0500 Received: from mail-pa0-x22c.google.com ([2607:f8b0:400e:c03::22c]:33421) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtXZe-0000Ap-F4 for qemu-devel@nongnu.org; Tue, 03 Nov 2015 04:08:14 -0500 Received: by pabfh17 with SMTP id fh17so13224611pab.0 for ; Tue, 03 Nov 2015 01:08:13 -0800 (PST) References: <1446460786-13663-1-git-send-email-graeme.gregory@linaro.org> <56381B26.6010900@huawei.com> <1446539511.1825702.427559105.54F9F183@webmail.messagingengine.com> From: Shannon Zhao Message-ID: <56387975.7060506@linaro.org> Date: Tue, 3 Nov 2015 17:08:05 +0800 MIME-Version: 1.0 In-Reply-To: <1446539511.1825702.427559105.54F9F183@webmail.messagingengine.com> Content-Type: text/plain; charset=windows-1252 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 , Shannon Zhao , Graeme Gregory , qemu-devel@nongnu.org Cc: tomasz.nowicki@linaro.org On 2015/11/3 16:31, Graeme Gregory wrote: > > > On Tue, 3 Nov 2015, at 02:25 AM, Shannon Zhao wrote: >> 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? >> > > Hi Shannon, the wording in ACPI 5.1 is "On ARM based systems, the _CCA > object must be supplied all such devices." > > So is not functionally different from 6.0. > Oh, I see. It's updated by 5.1 Errata 1189. Reviewed-by: Shannon Zhao > Graeme > >>> 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 >> >> -- Shannon