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

Re: [Xen-devel] Dom0 kernel panic when porting xen to new arm soc



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.

_______________________________________________
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®.