Hi,
On 10/10/2017 20:15, Stefano Stabellini wrote:
On Tue, 10 Oct 2017, mja...@caviumnetworks.com wrote:
From: Manish Jaggi <mja...@cavium.com>
Add gicv3_its_make_hwdom_madt to update hwdom MADT ITS information.
Reviewed-by: Andre Przywara <andre.przyw...@arm.com>
Signed-off-by: Manish Jaggi <mja...@cavium.com>
---
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@lists.xen.org
https://lists.xen.org/xen-devel