[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 13/16] xen/arm32: setup: Move out the code to populate the boot allocator
On 23/05/2022 08:28, Michal Orzel wrote:
Hi Julien,
Hi Michal,
On 20.05.2022 14:09, Julien Grall wrote:
From: Julien Grall <jgrall@xxxxxxxxxx>
In a follow-up patch, we will want to populate the boot allocator
separately for arm64. The code will end up to be very similar to the one
on arm32. So move out the code in a new helper populate_boot_allocator().
For now the code is still protected by CONFIG_ARM_32 to avoid any build
failure on arm64.
Take the opportunity to replace mfn_add(xen_mfn_start, xenheap_pages) with
xenheap_mfn_end as they are equivalent.
Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx>
---
Changes in v4:
- Patch added
---
xen/arch/arm/setup.c | 90 +++++++++++++++++++++++++-------------------
1 file changed, 51 insertions(+), 39 deletions(-)
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index d5d0792ed48a..3d5a2283d4ef 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -637,10 +637,58 @@ static void __init init_staticmem_pages(void)
}
#ifdef CONFIG_ARM_32
+/*
+ * Populate the boot allocator. All the RAM but the following regions
+ * will be added:
+ * - Modules (e.g., Xen, Kernel)
+ * - Reserved regions
+ * - Xenheap
+ */
+static void __init populate_boot_allocator(void)
+{
+ unsigned int i;
Shouldn't this be an int (as it was previously) because ...
+ const struct meminfo *banks = &bootinfo.mem;
+
+ for ( i = 0; i < banks->nr_banks; i++ )
... nr_banks is int ?
Hmmm... AFAIK banks->nr_banks never hold a negative value, so I am not
sure why it was introduced as an "int".
Looking through the code, we seem to have a mix of "unsigned int" and
"int". There seem to be less on the latter, so I have sent a patch to
switch nr_banks to "unsigned int" [1].
This is based on this series thought and I would like to keep the
"unsigned int" here.
Apart from that:
Reviewed-by: Michal Orzel <michal.orzel@xxxxxxx>
Thanks! Please let me know if this reviewed-by hold.
Cheers,
[1] https://lore.kernel.org/xen-devel/20220523194631.66262-1-julien@xxxxxxx
--
Julien Grall
|