Hi Wei,
On 11/08/2021 11:24, Wei Chen wrote:
These two helpers are architecture APIs that are required by
nodes_cover_memory.
Signed-off-by: Wei Chen <wei.c...@arm.com>
---
xen/arch/arm/numa.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index f61a8df645..6eebf8e8bc 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -126,3 +126,17 @@ void __init numa_init(bool acpi_off)
numa_initmem_init(PFN_UP(ram_start), PFN_DOWN(ram_end));
return;
}
+
+uint32_t __init arch_meminfo_get_nr_bank(void)
+{
+ return bootinfo.mem.nr_banks;
+}
+
+int __init arch_meminfo_get_ram_bank_range(int bank,
+ unsigned long long *start, unsigned long long *end)
They are physical address, so we should use "paddr_t" as on system such
as 32-bit Arm, "unsigned long" is not enough to cover all the physical
address.
As you change the type, I would also suggest to change the bank from an
int to an unsigned int.
+{
+ *start = bootinfo.mem.bank[bank].start;
+ *end = bootinfo.mem.bank[bank].start + bootinfo.mem.bank[bank].size;
+
+ return 0;
+}
Cheers,
--
Julien Grall