| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Re: [Xen-devel] [PATCH v6 5/5] ARM: ITS: Expose ITS in the MADT	table
 
 
Hi,
On 10/10/2017 20:15, Stefano Stabellini wrote:
 
On Tue, 10 Oct 2017, mjaggi@xxxxxxxxxxxxxxxxxx wrote:
 
From: Manish Jaggi <mjaggi@xxxxxxxxxx>
Add gicv3_its_make_hwdom_madt to update hwdom MADT ITS information.
Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx>
Signed-off-by: Manish Jaggi <mjaggi@xxxxxxxxxx>
---
 xen/arch/arm/gic-v3-its.c        | 19 +++++++++++++++++++
 xen/arch/arm/gic-v3.c            |  2 ++
 xen/include/asm-arm/gic_v3_its.h |  8 ++++++++
 3 files changed, 29 insertions(+)
diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
index bd94308..e57ae05 100644
--- a/xen/arch/arm/gic-v3-its.c
+++ b/xen/arch/arm/gic-v3-its.c
@@ -1062,6 +1062,25 @@ void gicv3_its_acpi_init(void)
     acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_TRANSLATOR,
                           gicv3_its_acpi_probe, 0);
 }
+
+unsigned long gicv3_its_make_hwdom_madt(const struct domain *d, void *base_ptr)
+{
+    unsigned int i;
+    void *fw_its;
+    struct acpi_madt_generic_translator *hwdom_its;
+
+    hwdom_its = base_ptr;
+
+    for ( i = 0; i < vgic_v3_its_count(d); i++ )
+    {
+        fw_its = acpi_table_get_entry_madt(ACPI_MADT_TYPE_GENERIC_TRANSLATOR,
+                                           i);
+        memcpy(hwdom_its, fw_its, sizeof(struct acpi_madt_generic_translator));
 
I think we are supposed to use ACPI_MEMCPY for this kind of operations.
If that's OK for you, I'll fix on commit.
 
I don't think we should use ACPI_MEMCPY. The macro is here because 
acpica (our drivers/acpi) is meant to be OS-agnostic. So you need a way 
to tell how your OS copies memory. 
I had a look on the usage of ACPI_MEMCPY, it seems that only the 
arch/arm and drivers/acpi is using it. This seem to confirm that 
probably we used it by mistake in the Arm code. 
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
 
 |