All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peng Fan <van.freenix@gmail.com>
To: Julien Grall <julien.grall@citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>
Cc: "xen-devel"@lists.xen.org,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	xen-users@lists.xen.org
Subject: Re: Dom0 kernel panic when porting xen to new arm soc
Date: Thu, 25 Jun 2015 22:09:13 +0800	[thread overview]
Message-ID: <558C0B89.7070809@gmail.com> (raw)
In-Reply-To: <55896582.1030701@gmail.com>

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.

  reply	other threads:[~2015-06-25 14:09 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-18 14:09 Dom0 kernel panic when porting xen to new arm soc Peng Fan
2015-06-18 14:24 ` Julien Grall
2015-06-18 14:54 ` Ian Campbell
2015-06-19 13:22   ` Peng Fan
2015-06-20 10:19     ` Julien Grall
2015-06-20 14:08       ` Peng Fan
2015-06-20 14:47         ` Peng Fan
2015-06-22 10:20           ` Julien Grall
2015-06-22 11:17             ` Peng Fan
2015-06-22 14:02               ` Julien Grall
2015-06-23 13:03                 ` Peng Fan
2015-06-23 13:36                   ` Julien Grall
2015-06-23 13:56                     ` Peng Fan
2015-06-25 14:09                       ` Peng Fan [this message]
2015-06-26 16:27                         ` Julien Grall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=558C0B89.7070809@gmail.com \
    --to=van.freenix@gmail.com \
    --cc=ian.campbell@citrix.com \
    --cc=julien.grall@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    --cc=xen-users@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.