[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] hw/arm/virt-acpi-build: _CCA attribute is compu
From: |
Graeme Gregory |
Subject: |
Re: [Qemu-devel] [PATCH] hw/arm/virt-acpi-build: _CCA attribute is compulsary |
Date: |
Tue, 03 Nov 2015 08:31:51 +0000 |
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.
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 <address@hidden>
> > ---
> > 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
>
>