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

[Xen-devel] Xen on ARM Fast Models xl guest creation crash



Hi!

My name is Preetam D'Souza and I've been tinkering around with Xen on
ARM using Fast Models. I have been able to get my Dom0 booting
correctly but my Fast Models simulator crashes if I try to create a
guest domain using xl with a very strange exception:

root@fenrir:~# cat /home/xen/test-guest.cfg
kernel = "/boot/linuz-3.13"
memory = 128
name = "guest"
vcpus = 1
disk = [ 'phy:/dev/loop0,xvda,w' ]
extra = "earlyprintk=xenboot console=hvc0 root=/dev/xvda debug rw"
root@fenrir:~# xl -vvv create -d -c /home/xen/test-guest.cfg
Parsing config from /home/xen/test-guest.cfg
unable to format domain config as JSON (YAJL:1)
libxl: debug: libxl_create.c:1342:do_domain_create: ao 0x31750:
create: how=(nil) callback=(nil) poller=0x317a8
libxl: verbose:
libxl_create.c:134:libxl__domain_build_info_setdefault: qemu-xen is
unavailable, use qemu-xen-traditional instead: No such file or
directory
libxl: debug: libxl_device.c:251:libxl__device_disk_set_backend: Disk
vdev=xvda spec.backend=unknown
libxl: debug: libxl_device.c:286:libxl__device_disk_set_backend: Disk
vdev=xvda, using backend phy
libxl: debug: libxl_create.c:797:initiate_domain_create: running bootloader
libxl: debug: libxl_bootloader.c:327:libxl__bootloader_run: no
bootloader configured, using user supplied kernel
libxl: debug: libxl_event.c:618:libxl__ev_xswatch_deregister: watch
w=0x31fc0: deregister unregistered
libxl: debug: libxl_numa.c:475:libxl__get_numa_candidate: New best
NUMA placement candidate found: nr_nodes=1, nr_cpus=1, nr_vcpus=2,
free_memkb=1500
libxl: detail: libxl_dom.c:195:numa_place_domain: NUMA placement
candidate with 1 nodes, 1 cpus and 1500 KB free selected
domainbuilder: detail: xc_dom_allocate: cmdline="earlyprintk=xenboot
console=hvc0 root=/dev/xvda debug rw", features="(null)"
libxl: debug: libxl_dom.c:357:libxl__build_pv: pv kernel mapped 0 path
/boot/linuz-3.13
domainbuilder: detail: xc_dom_kernel_file: filename="/boot/linuz-3.13"
domainbuilder: detail: xc_dom_malloc_filemap    : 2439 kB
domainbuilder: detail: xc_dom_boot_xen_init: ver 4.4, caps xen-3.0-armv7l
domainbuilder: detail: xc_dom_rambase_init: RAM starts at 80000
domainbuilder: detail: xc_dom_parse_image: called
domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader ...
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux zImage (ARM64)
loader ...
domainbuilder: detail: xc_dom_probe_zimage64_kernel: kernel is not an
arm64 Image
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux zImage (ARM32)
loader ...
domainbuilder: detail: loader probe OK
domainbuilder: detail: xc_dom_parse_zimage32_kernel: called
domainbuilder: detail: xc_dom_parse_zimage32_kernel: xen-3.0-armv7l:
0x80008000 -> 0x80269e00
libxl: debug: libxl_arm.c:433:libxl__arch_domain_configure:
constructing DTB for Xen version 4.4 guest
libxl: debug: libxl_arm.c:497:libxl__arch_domain_configure: fdt total size 1198
domainbuilder: detail: xc_dom_devicetree_mem: called
domainbuilder: detail: xc_dom_mem_init: mem 128 MB, pages 0x8000 pages, 4k each
domainbuilder: detail: xc_dom_mem_init: 0x8000 pages
domainbuilder: detail: xc_dom_boot_mem_init: called
domainbuilder: detail: set_mode: guest xen-3.0-armv7l, address size 32
domainbuilder: detail: xc_dom_malloc            : 256 kB
domainbuilder: detail: arch_setup_meminit: devicetree: 0x87fff000 -> 0x87fff4ae
domainbuilder: detail: xc_dom_build_image: called
domainbuilder: detail: xc_dom_alloc_segment:   kernel       :
0x80008000 -> 0x8026a000  (pfn 0x80008 + 0x262 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn
0x80008+0x262 at 0xb67e4000
domainbuilder: detail: xc_dom_load_zimage_kernel: called
domainbuilder: detail: xc_dom_load_zimage_kernel: kernel seg
0x80008000-0x8026a000
domainbuilder: detail: xc_dom_load_zimage_kernel: copy 2498048 bytes
from blob 0xb6a87000 to dst 0xb67e4000
domainbuilder: detail: xc_dom_alloc_segment:   devicetree   :
0x87fff000 -> 0x88000000  (pfn 0x87fff + 0x1 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn
0x87fff+0x1 at 0xb67e3000
domainbuilder: detail: alloc_magic_pages: called
domainbuilder: detail: count_pgtables_arm: called
domainbuilder: detail: xc_dom_build_image  : virt_alloc_end : 0x88000000
domainbuilder: detail: xc_dom_build_image  : virt_pgtab_end : 0x0
domainbuilder: detail: xc_dom_boot_image: called
domainbuilder: detail: arch_setup_bootearly: doing nothing
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-armv7l <= matches
domainbuilder: detail: setup_pgtables_arm: called
domainbuilder: detail: clear_page: pfn 0x88000, mfn 0x88000
domainbuilder: detail: clear_page: pfn 0x88001, mfn 0x88001
domainbuilder: detail: start_info_arm: called
domainbuilder: detail: domain builder memory footprint
domainbuilder: detail:    allocated
domainbuilder: detail:       malloc             : 272 kB
domainbuilder: detail:       anon mmap          : 0 bytes
domainbuilder: detail:    mapped
domainbuilder: detail:       file mmap          : 2439 kB
domainbuilder: detail:       domU mmap          : 2444 kB
domainbuilder: detail: vcpu_arm32: called
domainbuilder: detail: Initial state CPSR 0x1d3 PC 0x80008000
domainbuilder: detail: launch_vm: called, ctxt=0xb6f50004
domainbuilder: detail: xc_dom_release: called
libxl: debug: libxl_device.c:251:libxl__device_disk_set_backend: Disk
vdev=xvda spec.backend=phy
libxl: debug: libxl_event.c:570:libxl__ev_xswatch_register: watch
w=0x32918 wpath=/local/domain/0/backend/vbd/1/51712/state token=3/0:
register slotnum=3
libxl: debug: libxl_create.c:1356:do_domain_create: ao 0x31750:
inprogress: poller=0x317a8, flags=i
libxl: debug: libxl_event.c:514:watchfd_callback: watch w=0x32918
wpath=/local/domain/0/backend/vbd/1/51712/state token=3/0: event
epath=/local/domain/0/backend/vbd/1/51712/state
libxl: debug: libxl_event.c:653:devstate_watch_callback: backend
/local/domain/0/backend/vbd/1/51712/state wanted state 2 ok
libxl: debug: libxl_event.c:606:libxl__ev_xswatch_deregister: watch
w=0x32918 wpath=/local/domain/0/backend/vbd/1/51712/state token=3/0:
deregister slotnum=3
libxl: debug: libxl_event.c:618:libxl__ev_xswatch_deregister: watch
w=0x32918: deregister unregistered
libxl: debug: libxl_device.c:1022:device_hotplug: calling hotplug
script: /etc/xen/scripts/block add
libxl: debug: libxl_event.c:483:watchfd_callback: watch
epath=/local/domain/0/backend/vbd/1/51712/state token=3/0: empty slot
libxl: debug: libxl_event.c:618:libxl__ev_xswatch_deregister: watch
w=0x32960: deregister unregistered
libxl: debug: libxl_event.c:618:libxl__ev_xswatch_deregister: watch
w=0x32960: deregister unregistered
libxl: debug: libxl_event.c:1771:libxl__ao_progress_report: ao
0x31750: progress report: callback queued aop=0x33f58
libxl: debug: libxl_event.c:1591:libxl__ao_complete: ao 0x31750: complete, rc=0
libxl: debug: libxl_event.c:1155:egc_run_callbacks: ao 0x31750:
progress report: callback aop=0x33f58
libxl: debug: libxl_event.c:1563:libxl__ao__destroy: ao 0x31750: destroy

At this point Dom0 hangs and my Fast Models simulator crashes with the
following "uncaught exception, aborting fibre":

[ pdsouza ~ ] $ model_shell
FastModels/FastModelsPortfolio_8.3/examples/FVP_VE/Build_Cortex-A15x1/Linux-Release-GCC-4.4/cadi_system_Linux-Release-GCC-4.4.so
\
                    -C cluster.cpu0.semihosting-cmd_line="\
                        --kernel /path/to/xen.git/xen/xen \
                        --module /path/to/linux.git/arch/arm/boot/zImage \
                        --dtb
/path/to/linux-linaro-stable.git/arch/arm/boot/dts/rtsm_ve-cortex_a15x1.dtb"
\
                    -C motherboard.mmc.p_mmc_file="/path/to/dom0.img" \
                    -V /path/to/boot-wrapper.git/linux-system-semi.axf
Processing command line parameter values
terminal_0: Listening for serial connection on port 5000
terminal_1: Listening for serial connection on port 5001
terminal_2: Listening for serial connection on port 5002
terminal_3: Listening for serial connection on port 5003
Simulation is started
[bootwrapper] Loaded kernel: /path/to/xen.git/xen/xen
[bootwrapper] Loaded module: /path/to/linux.git/arch/arm/boot/zImage
[bootwrapper] Loaded FDT:
/path/to/linux-linaro-stable.git/arch/arm/boot/dts/rtsm_ve-cortex_a15x1.dtb
[bootwrapper] FDT updated.
WARNING: motherboard.mmc: 0x200 (512)-byte block read starting at
0x000000002f400000 will end beyond the end of the card at 0x2f400000
uncaught exception, aborting fibre

The mmc warning is unrelated to the guest creation crash (it is logged
when the Dom0 kernel boots). I tried using modeldebugger instead of
model_shell but that crashes with the same exception too. I am not
getting any guest boot logging on hvc0 either...

I am attaching the full logs for xen/dom0 boot, my dom0 guest creation
session (including output from "xl list", "xl info", and my guest
config), my DTS with my xen and dom0 start-up parameters, and my
kernel config (same for Dom0 and DomU) to hopefully help shed some
more light on what could be going on here.

I have tried several config permutations but have had no luck so far
with successfully launching a DomU. Any help and guidance is much
appreciated!

-Preetam

Attachment: kernel-config.txt
Description: Text document

Attachment: xen-dom0-boot.log
Description: Text Data

Attachment: dom0-session.log
Description: Text Data

Attachment: model.log
Description: Text Data

Attachment: rtsm_ve-cortex_a15x1.dts
Description: Binary data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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