Hi,
On 9/15/19 3:09 PM, osstest service owner wrote:
flight 141333 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/141333/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be run:
test-armhf-armhf-xl 7 xen-boot fail REGR. vs. 141253
Osstest does not provide the stack trace as the crash happen before the
console is setup, but I managed to reproduce it locally:
(XEN) Assertion 'is_xen_heap_mfn(maddr_to_mfn(ma))' failed at
/home/julieng/works/xen/xen/include/asm/mm.h:250
(XEN) ----[ Xen-4.13-unstable arm32 debug=y Not tainted ]----
[...]
(XEN) Xen call trace:
(XEN) [<002992c0>] page_alloc.c#bootmem_region_add+0xf8/0x17c (PC)
(XEN) [<002995ac>] init_boot_pages+0x8c/0x1a0 (LR)
(XEN) [<002995ac>] init_boot_pages+0x8c/0x1a0
(XEN) [<002acc2c>] dt_unreserved_regions+0x268/0x284
(XEN) [<002ad8e0>] start_xen+0x5c8/0xe90
(XEN) [<00200098>] arm32/head.o#primary_switched+0x4/0x10
This is happening because of commit 6e3e771203 "xen/arm: setup: Relocate
the Device-Tree later on in the boot". Since this patch, none of xenheap
memory is given to the boot allocator.
The boot allocator is bootstrapping itself and re-use a page from the
first added region. If this region is not a xenheap region, then it will
crash when calling mfn_to_virt() or later on because the virtual address
is not mapped in memory.
The description of the boot allocator in page_alloc.c leads to think
that only domheap memory may be given to the boot allocator.
Furthermore, as the boot allocator may have domheap page, it means that
calling mfn_to_virt(mfn_x(alloc_boot_pages(...)) may not work when
CONFIG_SEPARATE_XENHEAP=y.
It feels to me that imposing to give a xenheap page to the boot
allocator is quite ugly. As the boot allocator will be used in most of
the case, statically allocating bootmem_region_list maybe the best. Any
thoughts?
Regarding alloc_boot_pages(), I am a bit unsure how to proceed here.
Maybe some documentation?
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel