Since commit c61c1b4943 "xen/page_alloc: statically allocate
bootmem_region_list", the boot allocator does not use the first page of
the first region passed for its own purpose.
This reverts commit ae84f55353475f569daddb9a81ac0a6bc7772c90.
Signed-off-by: Julien Grall <julien@xen.org>
---
xen/arch/arm/setup.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 9dd3738d44..494f70546b 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -594,7 +594,6 @@ static void __init setup_mm(void)
unsigned long heap_pages, xenheap_pages, domheap_pages;
int i;
const uint32_t ctr = READ_CP32(CTR);
- mfn_t boot_mfn_start, boot_mfn_end;
if ( !bootinfo.mem.nr_banks )
panic("No memory bank\n");
@@ -667,11 +666,6 @@ static void __init setup_mm(void)
setup_xenheap_mappings((e >> PAGE_SHIFT) - xenheap_pages, xenheap_pages);
- /* We need a single mapped page for populating bootmem_region_list. */
- boot_mfn_start = mfn_add(xenheap_mfn_end, -1);
- boot_mfn_end = xenheap_mfn_end;
- init_boot_pages(mfn_to_maddr(boot_mfn_start), mfn_to_maddr(boot_mfn_end));
-
/* Add non-xenheap memory */
for ( i = 0; i < bootinfo.mem.nr_banks; i++ )
{
@@ -717,7 +711,7 @@ static void __init setup_mm(void)
/* Add xenheap memory that was not already added to the boot allocator. */
init_xenheap_pages(mfn_to_maddr(xenheap_mfn_start),
- mfn_to_maddr(boot_mfn_start));
+ mfn_to_maddr(xenheap_mfn_end));
}
#else /* CONFIG_ARM_64 */
static void __init setup_mm(void)
--
2.17.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
On Thu, 16 Jan 2020, Julien Grall wrote:
> Since commit c61c1b4943 "xen/page_alloc: statically allocate
> bootmem_region_list", the boot allocator does not use the first page of
> the first region passed for its own purpose.
>
> This reverts commit ae84f55353475f569daddb9a81ac0a6bc7772c90.
>
> Signed-off-by: Julien Grall <julien@xen.org>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> xen/arch/arm/setup.c | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 9dd3738d44..494f70546b 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -594,7 +594,6 @@ static void __init setup_mm(void)
> unsigned long heap_pages, xenheap_pages, domheap_pages;
> int i;
> const uint32_t ctr = READ_CP32(CTR);
> - mfn_t boot_mfn_start, boot_mfn_end;
>
> if ( !bootinfo.mem.nr_banks )
> panic("No memory bank\n");
> @@ -667,11 +666,6 @@ static void __init setup_mm(void)
>
> setup_xenheap_mappings((e >> PAGE_SHIFT) - xenheap_pages, xenheap_pages);
>
> - /* We need a single mapped page for populating bootmem_region_list. */
> - boot_mfn_start = mfn_add(xenheap_mfn_end, -1);
> - boot_mfn_end = xenheap_mfn_end;
> - init_boot_pages(mfn_to_maddr(boot_mfn_start), mfn_to_maddr(boot_mfn_end));
> -
> /* Add non-xenheap memory */
> for ( i = 0; i < bootinfo.mem.nr_banks; i++ )
> {
> @@ -717,7 +711,7 @@ static void __init setup_mm(void)
>
> /* Add xenheap memory that was not already added to the boot allocator. */
> init_xenheap_pages(mfn_to_maddr(xenheap_mfn_start),
> - mfn_to_maddr(boot_mfn_start));
> + mfn_to_maddr(xenheap_mfn_end));
> }
> #else /* CONFIG_ARM_64 */
> static void __init setup_mm(void)
> --
> 2.17.1
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
© 2016 - 2026 Red Hat, Inc.