|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v7 02/22] arm/acpi: Add a helper function to get the acpi table offset
These tables are aligned with 64bit.
Signed-off-by: Shannon Zhao <shannon.zhao@xxxxxxxxxx>
Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---
v7: add commnets to explain what thsi function does
---
xen/arch/arm/acpi/lib.c | 20 ++++++++++++++++++++
xen/include/asm-arm/acpi.h | 2 ++
2 files changed, 22 insertions(+)
diff --git a/xen/arch/arm/acpi/lib.c b/xen/arch/arm/acpi/lib.c
index db5c4d8..cee2454 100644
--- a/xen/arch/arm/acpi/lib.c
+++ b/xen/arch/arm/acpi/lib.c
@@ -60,3 +60,23 @@ bool_t __init acpi_psci_hvc_present(void)
{
return acpi_gbl_FADT.arm_boot_flags & ACPI_FADT_PSCI_USE_HVC;
}
+
+/*
+ * This function is used to get the offset of some new created ACPI or EFI
table
+ * in the allocated memory region. Currently the tables should be created in
the
+ * order of enum EFI_MEM_RES.
+ */
+paddr_t __init acpi_get_table_offset(struct membank tbl_add[],
+ EFI_MEM_RES index)
+{
+ int i;
+ paddr_t offset = 0;
+
+ for ( i = 0; i < index; i++ )
+ {
+ /* Aligned with 64bit (8 bytes) */
+ offset += ROUNDUP(tbl_add[i].size, 8);
+ }
+
+ return offset;
+}
diff --git a/xen/include/asm-arm/acpi.h b/xen/include/asm-arm/acpi.h
index 7f59761..569fc31 100644
--- a/xen/include/asm-arm/acpi.h
+++ b/xen/include/asm-arm/acpi.h
@@ -25,6 +25,7 @@
#include <xen/init.h>
#include <asm/page.h>
+#include <asm/setup.h>
#define COMPILER_DEPENDENT_INT64 long long
#define COMPILER_DEPENDENT_UINT64 unsigned long long
@@ -45,6 +46,7 @@ typedef enum {
bool_t __init acpi_psci_present(void);
bool_t __init acpi_psci_hvc_present(void);
void __init acpi_smp_init_cpus(void);
+paddr_t acpi_get_table_offset(struct membank tbl_add[], EFI_MEM_RES index);
#ifdef CONFIG_ACPI
extern bool_t acpi_disabled;
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |