From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peng Fan Subject: Re: Dom0 kernel panic when porting xen to new arm soc Date: Thu, 25 Jun 2015 22:09:13 +0800 Message-ID: <558C0B89.7070809@gmail.com> References: <5582D109.2000409@gmail.com> <1434639280.28264.42.camel@citrix.com> <55841799.6000406@gmail.com> <55853E20.6030700@gmail.com> <558573D0.6010207@gmail.com> <55857CF7.4000300@gmail.com> <5587E175.90704@citrix.com> <5587EEE6.7030706@gmail.com> <5588157E.2030701@citrix.com> <55895915.1010601@gmail.com> <558960D7.3000806@citrix.com> <55896582.1030701@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <55896582.1030701@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Julien Grall , Ian Campbell Cc: "xen-devel"@lists.xen.org, Stefano Stabellini , xen-users@lists.xen.org List-Id: xen-devel@lists.xenproject.org Hi Julien, On 6/23/2015 9:56 PM, Peng Fan wrote: > Hi, > > On 6/23/2015 9:36 PM, Julien Grall wrote: >> Hi, >> >> On 23/06/15 14:03, Peng Fan wrote: >>> I did not enable LPAE for DOM0 kernel, use shor page table. >>> Following is the full log from uboot to kernel with DOM0 512M: >> >> Which CONFIG_VMSPLIT_* do you use? Can you try to use another one? I >> remembered it had some effect on the offset between physical and virtual >> address. > CONFIG_VMSPLIT_2G=y > > CONFIG_PAGE_OFFSET=0x80000000 > > ok. Will try 3G:1G split. Later I'll reply with log info about this(Do not have log at hand). Still panic, maybe something wrong with gnutab configration in my side, I use default gnutab address/size. Current I met a DomU boot issue, if do not use blk backend, DomU can boot with ramfs as rootfs. If use an image file as rootfs, DomU can not boot. I am not sure why this happends:" libxl: error: libxl_create.c:1195:domcreate_launch_dm: unable to add disk devices libxl: error: libxl_device.c:799:libxl__initiate_device_remove: unable to get my domid " By using gdb, I found domcreate_launch_dm fails to get domid, then it reports unable to add disk devices. I am not familiar with xenstore and etc. Did I miss some configuation? My cfg file:" kernel = "/home/root/xen/domu.image" memory = "128" name = "domU" vcpus = 1 serial="pty" disk = [ 'phy:/dev/loop0,xvda,w' ] extra = "earlyprintk=xenboot console=hvc0 root=/dev/xvda debug=/bin/sh" " My init script when Dom0 boots up: " mount -t xenfs xenfs /proc/xen export LD_LIBRARY_PATH=/usr/local/lib echo "Starting Xenstored" xenstored -T /root/xenstored.log echo "Xenstored started" echo "Starting xenconsoled" xenconsoled -i & echo "Xenconsoled started" echo "Setting up loop0" losetup /dev/loop0 DomU.image losetup -a echo "Writing dom0 name to xenstore" /usr/local/bin/xenstore-write "/local/domain/0/name" "Domain-0" echo "Done" mkdir -p /var/log/xen " Detail log when creat DomU: xen# xl -vvv create -d DomU-test Parsing config from DomU-test { "domid": null, "config": { "c_info": { "type": "pv", "name": "domU", "uuid": "67000363-4ae4-41a5-9c1f-293c1b69aa69", "run_hotplug_scripts": "True" }, "b_info": { "max_vcpus": 1, "avail_vcpus": [ 0 ], "max_memkb": 131072, "target_memkb": 131072, "shadow_memkb": 2048, "sched_params": { }, "claim_mode": "True", "kernel": "/home/root/xen/domu.image", "cmdline": "earlyprintk=xenboot console=hvc0 root=/dev/xvda debug=/bin/sh", "type.pv": { } }, "disks": [ { "pdev_path": "/dev/loop0", "vdev": "xvda", "format": "raw", "readwrite": 1 } ], "on_reboot": "restart" } } libxl: debug: libxl_create.c:1544:do_domain_create: ao 0x42eb80: create: how=(nil) callback=(nil) poller=0x42eb08 libxl: debug: libxl_arm.c:58:libxl__arch_domain_prepare_config: Configure the domain libxl: debug: libxl_arm.c:61:libxl__arch_domain_prepare_config: - Allocate 0 SPIs libxl: debug: libxl_device.c:269:libxl__device_disk_set_backend: Disk vdev=xvda spec.backend=unknown libxl: debug: libxl_device.c:298:libxl__device_disk_set_backend: Disk vdev=xvda, using backend phy libxl: debug: libxl_create.c:949:initiate_domain_create: running bootloader libxl: debug: libxl_bootloader.c:329:libxl__bootloader_run: no bootloader configured, using user supplied kernel libxl: debug: libxl_event.c:652:libxl__ev_xswatch_deregister: watch w=0x42a7cc: deregister unregistered domainbuilder: detail: xc_dom_allocate: cmdline="earlyprintk=xenboot console=hvc0 root=/dev/xvda debug=/bin/sh", features="(null)" libxl: debug: libxl_dom.c:630:libxl__build_pv: pv kernel mapped 0 path /home/root/xen/domu.image domainbuilder: detail: xc_dom_kernel_file: filename="/home/root/xen/domu.image" domainbuilder: detail: xc_dom_malloc_filemap : 6116 kB domainbuilder: detail: xc_dom_boot_xen_init: ver 4.6, caps xen-3.0-armv7l domainbuilder: detail: xc_dom_rambase_init: RAM starts at 40000 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: 0x40008000 -> 0x406012f8 libxl: debug: libxl_arm.c:571:libxl__arch_domain_init_hw_description: constructing DTB for Xen version 4.6 guest libxl: debug: libxl_arm.c:572:libxl__arch_domain_init_hw_description: - vGIC version: V2 libxl: debug: libxl_arm.c:333:make_memory_nodes: Creating placeholder node /memory@40000000 libxl: debug: libxl_arm.c:333:make_memory_nodes: Creating placeholder node /memory@200000000 libxl: debug: libxl_arm.c:647:libxl__arch_domain_init_hw_description: fdt total size 1290 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: populate_guest_memory: populating RAM @ 0000000040000000-0000000048000000 (128MB) domainbuilder: detail: populate_one_size: populated 0x40/0x40 entries with shift 9 domainbuilder: detail: arch_setup_meminit: placing boot modules at 0x47fff000 domainbuilder: detail: arch_setup_meminit: devicetree: 0x47fff000 -> 0x48000000 libxl: debug: libxl_arm.c:678:finalise_one_memory_node: Populating placeholder node /memory@40000000 libxl: debug: libxl_arm.c:672:finalise_one_memory_node: Nopping out placeholder node /memory@200000000 domainbuilder: detail: xc_dom_build_image: called domainbuilder: detail: xc_dom_alloc_segment: kernel : 0x40008000 -> 0x40602000 (pfn 0x40008 + 0x5fa pages) domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 0x40008+0x5fa at 0x75e8e000 domainbuilder: detail: xc_dom_load_zimage_kernel: called domainbuilder: detail: xc_dom_load_zimage_kernel: kernel seg 0x40008000-0x40602000 domainbuilder: detail: xc_dom_load_zimage_kernel: copy 6263544 bytes from blob 0x764c9000 to dst 0x75e8e000 domainbuilder: detail: xc_dom_alloc_segment: devicetree : 0x47fff000 -> 0x48000000 (pfn 0x47fff + 0x1 pages) domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 0x47fff+0x1 at 0x76f13000 domainbuilder: detail: alloc_magic_pages: called domainbuilder: detail: count_pgtables_arm: called domainbuilder: detail: xc_dom_build_image : virt_alloc_end : 0x48000000 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 0x39000, mfn 0x39000 domainbuilder: detail: clear_page: pfn 0x39001, mfn 0x39001 domainbuilder: detail: start_info_arm: called domainbuilder: detail: domain builder memory footprint domainbuilder: detail: allocated domainbuilder: detail: malloc : 293 kB domainbuilder: detail: anon mmap : 0 bytes domainbuilder: detail: mapped domainbuilder: detail: file mmap : 6116 kB domainbuilder: detail: domU mmap : 6124 kB domainbuilder: detail: vcpu_arm32: called domainbuilder: detail: Initial state CPSR 0x1d3 PC 0x40008000 domainbuilder: detail: launch_vm: called, ctxt=0x76f15004 domainbuilder: detail: xc_dom_gnttab_hvm_seed: called, pfn=0x38000 domainbuilder: detail: xc_dom_release: called libxl: debug: libxl_device.c:269:libxl__device_disk_set_backend: Disk vdev=xvda spec.backend=phy libxl: debug: libxl_event.c:600:libxl__ev_xswatch_register: watch w=0x42f330 wpath=/local/domain/0/backend/vbd/5/51712/state token=3/0: register slotnum=3 libxl: debug: libxl_create.c:1560:do_domain_create: ao 0x42eb80: inprogress: poller=0x42eb08, flags=i libxl: debug: libxl_event.c:537:watchfd_callback: watch w=0x42f330 wpath=/local/domain/0/backend/vbd/5/51712/state token=3/0: event epath=/local/domain/0/backend/vbd/5/51712/state libxl: debug: libxl_event.c:841:devstate_watch_callback: backend /local/domain/0/backend/vbd/5/51712/state wanted state 2 ok libxl: debug: libxl_event.c:638:libxl__ev_xswatch_deregister: watch w=0x42f330 wpath=/local/domain/0/backend/vbd/5/51712/state token=3/0: deregister slotnum=3 libxl: debug: libxl_event.c:652:libxl__ev_xswatch_deregister: watch w=0x42f330: deregister unregistered libxl: debug: libxl_event.c:652:libxl__ev_xswatch_deregister: watch w=0x42f378: deregister unregistered libxl: error: libxl_create.c:1195:domcreate_launch_dm: unable to add disk devices libxl: error: libxl_device.c:799:libxl__initiate_device_remove: unable to get my domid libxl: debug: libxl_event.c:652:libxl__ev_xswatch_deregister: watch w=0x42e548: deregister unregistered libxl: error: libxl.c:1657:devices_destroy_cb: libxl__devices_destroy failed for 5 libxl: debug: libxl.c:1701:devices_destroy_cb: forked pid 763 for destroy of domain 5 libxl: debug: libxl_event.c:1768:libxl__ao_complete: ao 0x42eb80: complete, rc=-3 libxl: debug: libxl_event.c:1740:libxl__ao__destroy: ao 0x42eb80: destroy xc: debug: hypercall buffer: total allocations:99 total releases:99 xc: debug: hypercall buffer: current allocations:0 maximum allocations:3 xc: debug: hypercall buffer: cache current size:3 xc: debug: hypercall buffer: cache hits:89 misses:3 toobig:7 >> >> Regards, >> > Thanks, > Peng. > Thanks, Peng.