|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: Xen refuses to load minimal dom0 kernel
Grzegorz Milos wrote:
I am trying to link a minimal Domain 0 kernel (adapted from the
Mini-OS), but when Xen tries to build the Domain 0 it panics:
"Domain 0 allocation is too small for kernel image."
which is caused by the following code in xen/arch/x86/domain_build.c:
order = get_order_from_bytes(v_end - dsi.v_start);
if ( (1UL << order) > nr_pages )
panic("Domain 0 allocation is too small for kernel image.\n");
The linker script I am using is adapted from the Mini-OS and links
.text at 0xC0000000 + 0x100000, just like the Linux kernel does. Does
any one has any hints what I am doing wrong and what this test
actually checks for?
Mini-OS assumes .text at 0x0. Since you've changed that, you better make
corresponding changes to VIRT_BASE and ELF_PADDR_OFFSET in
mini-os/arch/x86/x86_32.S. If that does not help, could you send an
output of the following printk added just before the if statement?
printk("v_start=%lx v_end=(%lx, %lx)\n", dsi.v_start, v_end, dsi.v_end);
I finally got it to work by closely following what the startup code and
linker script of the Linux kernel do. Is there any documentation on what
the hypervisor expects from a Domain 0 and in general how the Domain 0
environment differs from that of a DomU (e.g., memory management,
console, xenbus)?
Regards,
Julian
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|