The _ADR entry in SPCR is optional and redundant. The same information
is already provided in _CRS (which is mandatory).

Signed-off-by: Leif Lindholm <leif.lindh...@linaro.org>
---

So, this _ADR entry is only consumed by a set of not-widely-circulated
patches for the Linux kernel. And while the ARM Server Base Boot
Requirements specification mandates SPCR, it does not mandate this _ADR
entry.

In the interest of not propagating non-standard extensions, I would be
really happy if we could consider dropping this from 2.4.
I do realize that this is a completely unreasonable request this late
in the release process, but I only spotted this yesterday, and it is a
very isolated change with very quantifiable effects.

The patch at 
https://git.linaro.org/leg/acpi/leg-kernel.git/commitdiff/46eeec7b7332bdd104941703696d3812afd934c8
converts the non-upstream kernel SPCR handling code to use the _CRS
information instead.

 hw/arm/virt-acpi-build.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index f365140..85eb48c 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -84,12 +84,6 @@ static void acpi_dsdt_add_uart(Aml *scope, const MemMapEntry 
*uart_memmap,
                aml_interrupt(AML_CONSUMER, AML_LEVEL, AML_ACTIVE_HIGH,
                              AML_EXCLUSIVE, uart_irq));
     aml_append(dev, aml_name_decl("_CRS", crs));
-
-    /* The _ADR entry is used to link this device to the UART described
-     * in the SPCR table, i.e. SPCR.base_address.address == _ADR.
-     */
-    aml_append(dev, aml_name_decl("_ADR", aml_int(uart_memmap->base)));
-
     aml_append(scope, dev);
 }
 
-- 
2.1.4


Reply via email to