[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] xen3.1 with NetBSD as dom0: domU won't start

I'm trying to upgrade the NetBSD Xen package from 3.0.4 to 3.1.
I got it build and basically working, but I can't start domUs from
the NetBSD dom0: the guest kernel crashes on the first instruction, and
it looks like the memory isn't mapped at all in Xen, from what I see on
the console:
xvif12.0: Ethernet address 00:16:3e:02:00:00
(XEN) Unhandled page fault in domain 12 on VCPU 0 (ec=0000)
(XEN) Pagetable walk from c0100000:
(XEN)  L2[0x300] = 9f4f4067 0000046b
(XEN)  L1[0x100] = 00000000 ffffffff
(XEN) domain_crash_sync called from entry.S (ff164d89)
(XEN) Domain 12 (vcpu#0) crashed on cpu#7:
(XEN) ----[ Xen-3.1.0  x86_32  debug=n  Not tainted ]----
(XEN) CPU:    7
(XEN) EIP:    e019:[<c0100000>]
(XEN) EFLAGS: 00010202   CONTEXT: guest
(XEN) eax: 00000000   ebx: 00000000   ecx: 00000000   edx: 00000000
(XEN) esi: c0467000   edi: 00000000   ebp: 00000000   esp: c046e000
(XEN) cr0: 8005003b   cr4: 000026d0   cr3: 9f4f5000   cr2: c0100000
(XEN) ds: e021   es: e021   fs: e021   gs: e021   ss: e021   cs: e019
(XEN) Guest stack trace from esp=c046e000:
(XEN)   Fault while accessing guest memory.
xvif12.0: disconnecting
xbd backend: detach device vnd0d for domain 12

Heres what I get in domain-builder-ng.log:
xc_dom_allocate: cmdline="", features=""
xc_dom_kernel_file: filename="/usr/pkg/etc/xen/kernels/vmlinuz-2.6.18-xen"
xc_dom_malloc_filemap    : 1474 kB
xc_dom_malloc            : 3077 kB
xc_dom_do_gunzip: unzip ok, 0x170923 -> 0x3014b8
xc_dom_boot_xen_init: ver 3.1, caps xen-3.0-x86_32 hvm-3.0-x86_32 
xc_dom_parse_image: called
xc_dom_find_loader: trying ELF-generic loader ... OK
elf_parse_binary: phdr: paddr=0xc0100000 memsz=0x2573e8
elf_parse_binary: phdr: paddr=0xc0358000 memsz=0xfedbc
elf_parse_binary: memory: 0xc0100000 -> 0xc0456dbc
elf_xen_parse_note: GUEST_OS = "linux"
elf_xen_parse_note: GUEST_VERSION = "2.6"
elf_xen_parse_note: XEN_VERSION = "xen-3.0"
elf_xen_parse_note: VIRT_BASE = 0xc0000000
elf_xen_parse_note: PADDR_OFFSET = 0xc0000000
elf_xen_parse_note: ENTRY = 0xc0100000
elf_xen_parse_note: HYPERCALL_PAGE = 0xc0101000
elf_xen_parse_note: HV_START_LOW = 0xfc000000
elf_xen_parse_note: FEATURES = "writable_page_tables|writable_descriptor_tables|
elf_xen_parse_note: PAE_MODE = "no"
elf_xen_parse_note: unknown xen elf note (0xd)
elf_xen_parse_note: LOADER = "generic"
elf_xen_parse_note: SUSPEND_CANCEL = 0x1
elf_xen_parse: using notes from SHT_NOTE section
elf_xen_addr_calc_check: addresses:
    virt_base        = 0xc0000000
    elf_paddr_offset = 0xc0000000
    virt_offset      = 0x0
    virt_kstart      = 0xc0100000
    virt_kend        = 0xc0456dbc
    virt_entry       = 0xc0100000
xc_dom_parse_elf_kernel: xen-3.0-x86_32: 0xc0100000 -> 0xc0456dbc
xc_dom_mem_init: mem 64 MB, pages 0x4000 pages, 4k each
xc_dom_mem_init: 0x4000 pages
xc_dom_boot_mem_init: called
xc_dom_build_image: called
xc_dom_alloc_segment:   kernel       : 0xc0100000 -> 0xc0457000  (pfn 0x100 + 0x
357 pages)
xc_dom_pfn_to_ptr: domU mapping: pfn 0x100+0x357 at 0xb7ca9000
elf_load_binary: phdr 0 at 0x0xb7ca9000 -> 0x0xb7f003e8
elf_load_binary: phdr 1 at 0x0xb7f01000 -> 0x0xb7f9d964
xc_dom_alloc_segment:   phys2mach    : 0xc0457000 -> 0xc0467000  (pfn 0x457 + 0x
10 pages)
xc_dom_pfn_to_ptr: domU mapping: pfn 0x457+0x10 at 0xbb60c000
xc_dom_pfn_to_ptr: domU mapping: pfn 0x457+0x10 at 0xbb60c000
xc_dom_alloc_page   :   start info   : 0xc0467000 (pfn 0x467)
xc_dom_alloc_page   :   xenstore     : 0xc0468000 (pfn 0x468)
xc_dom_alloc_page   :   console      : 0xc0469000 (pfn 0x469)
nr_page_tables: 0x00000000ffffffff/32: 0x0000000000000000 -> 0xffffffffffffffff,
 1 table(s)
nr_page_tables: 0x00000000003fffff/22: 0x00000000c0000000 -> 0x00000000c07fffff,
 2 table(s)
xc_dom_alloc_segment:   page tables  : 0xc046a000 -> 0xc046d000  (pfn 0x46a + 0x
3 pages)
xc_dom_pfn_to_ptr: domU mapping: pfn 0x46a+0x3 at 0xbb609000
xc_dom_alloc_page   :   boot stack   : 0xc046d000 (pfn 0x46d)
xc_dom_build_image  : virt_alloc_end : 0xc046e000
xc_dom_build_image  : virt_pgtab_end : 0xc0800000
xc_dom_boot_image: called
arch_setup_bootearly: doing nothing
xc_dom_compat_check: supported guest type: xen-3.0-x86_32 <= matches
xc_dom_compat_check: supported guest type: hvm-3.0-x86_32
xc_dom_update_guest_p2m: dst 32bit, pages 0x4000 
clear_page: pfn 0x469, mfn 0x9f4f6
clear_page: pfn 0x468, mfn 0x9f4f7
xc_dom_pfn_to_ptr: domU mapping: pfn 0x467+0x1 at 0xbb9e6000
start_info_x86_32: called
setup_hypercall_page: vaddr=0xc0101000 pfn=0x101
domain builder memory footprint
      malloc             : 3153 kB
      anon mmap          : 0 bytes
      file mmap          : 1474 kB
      domU mmap          : 3500 kB
arch_setup_bootlate: shared_info: pfn 0x0, mfn 0x1a6
shared_info_x86_32: called
vcpu_x86_32: called
vcpu_x86_32: cr3: pfn 0x46a mfn 0x9f4f5
launch_vm: called, ctxt=0x857100c
xc_dom_release: called

(this is the stock linux kernel from the xen-3.1.0 binary tgz).
I didn't see obvious changes in the kernel domU support in linux-2.6-xen-sparse
that could explain it since 3.0.4. Any idea what where to start looking at ?

Manuel Bouyer <bouyer@xxxxxxxxxxxxxxx>
     NetBSD: 26 ans d'experience feront toujours la difference

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.