Welcome, Guest
You have to register before you can post on our site.



Search Forums

(Advanced Search)

Forum Statistics
» Members: 344
» Latest member: blair2019
» Forum threads: 84
» Forum posts: 380

Full Statistics

Online Users
There are currently 16 online users.
» 0 Member(s) | 16 Guest(s)

Latest Threads
Support Moved to Xilinx E...
Forum: Public Support
Last Post: Nathan.Studer
02-08-2019, 06:07 PM
» Replies: 0
» Views: 682
BMC 4MB limitation and al...
Forum: Public Support
Last Post: NGNear
12-12-2018, 05:52 PM
» Replies: 4
» Views: 1,590
Interrupt handling in Dom...
Forum: Public Support
Last Post: RuebenLey
10-30-2018, 04:30 PM
» Replies: 2
» Views: 1,804
Xen Hypervisor on Avnet U...
Forum: Public Support
Last Post: ttsivan
10-15-2018, 12:43 PM
» Replies: 2
» Views: 1,518
XZD 2017.1 with Xen 4.9
Forum: Knowledge Base
Last Post: Nathan.Studer
09-10-2018, 02:00 PM
» Replies: 3
» Views: 1,271
Virtuosity on Zynq 2018.1...
Forum: Knowledge Base
Last Post: Nathan.Studer
09-06-2018, 06:38 PM
» Replies: 0
» Views: 529
FreeRTOS on Xilinx/Xen no...
Forum: Public Support
Last Post: BurchSung
05-25-2018, 05:08 PM
» Replies: 4
» Views: 3,620
Error kernel paging reque...
Forum: Public Support
Last Post: ariefgrand
02-14-2018, 03:19 PM
» Replies: 1
» Views: 2,638
XZD 2017.1 Release
Forum: Knowledge Base
Last Post: Nathan.Studer
02-12-2018, 03:12 PM
» Replies: 0
» Views: 1,673
XZD is Now Virtuosity
Forum: Knowledge Base
Last Post: Nathan.Studer
02-12-2018, 03:09 PM
» Replies: 0
» Views: 1,081

  Kernel panic when launching QEMU
Posted by: pello.heriz - 04-06-2017, 07:17 AM - Forum: Public Support - Replies (1)

Hi all,

-Host: Ubuntu 16.04 (in Virtual Box)
-Petalinux and SDK version: 2016.3
-XZD version: XZD20161231

I have followed the steps shown in the last XZD user manual (january 6, 2017) to launch Xen on QEMU, but I'm having some problems. When I execute the command to launch the image on QEMU, sometimes (1 / 10) the launching seems to be good, but in the rest of the cases a kernel panic occurs. This is how the kernel panic looks like:

[   49.994179] Call trace:
[   49.996072] [<ffffff8008088840>] dump_backtrace+0x0/0x198
[   49.996982] [<ffffff80080889ec>] show_stack+0x14/0x20
[   49.997567] [<ffffff80080bf910>] sched_show_task+0x98/0xf8
[   49.998254] [<ffffff80080e3d00>] rcu_check_callbacks+0x740/0x748
[   49.998755] [<ffffff80080e6a4c>] update_process_times+0x3c/0x68
[   49.999230] [<ffffff80080f5b3c>] tick_sched_handle.isra.5+0x3c/0x50
[   50.001318] [<ffffff80080f5b94>] tick_sched_timer+0x44/0x90
[   50.001933] [<ffffff80080e7400>] __hrtimer_run_queues+0xf0/0x178
[   50.002557] [<ffffff80080e7790>] hrtimer_interrupt+0x98/0x1c8
[   50.003283] [<ffffff8008633af0>] arch_timer_handler_virt+0x30/0x40
[   50.003966] [<ffffff80080dab68>] handle_percpu_devid_irq+0x78/0xa0
[   50.005726] [<ffffff80080d635c>] generic_handle_irq+0x24/0x38
[   50.006402] [<ffffff80080d6694>] __handle_domain_irq+0x5c/0xb8
[   50.007023] [<ffffff80080814bc>] gic_handle_irq+0x64/0xc0
[   50.007603] Exception stack(0xffffffc0328b7e40 to 0xffffffc0328b7f60)
[   50.008420] 7e40: 0000000000000000 0000000000000000 0000000000000001 0000000000000001
[   50.009126] 7e60: 00000000000001c0 0100000000000000 00297c1e00000000 00000000ffff0918
[   50.009731] 7e80: ffffffc0328ac9e0 ffffffc0328b4000 0000000000000780 0000000000000001
[   50.010877] 7ea0: 0000000000000001 dead000000000200 dead000000000100 ffffffbe00000000
[   50.011673] 7ec0: ffffff8008ad9000 ffffffc032809d28 000000000000000c 0000000000000000
[   50.013353] 7ee0: ffffffc0328b4000 ffffff8008ad9000 ffffffc0328b4000 ffffff8008ad9000
[   50.014122] 7f00: ffffff8008ab7ff0 ffffff8008b58000 ffffffc0328b4000 0000000000000000
[   50.014904] 7f20: 0000000000000000 ffffffc0328b7f60 ffffff800808567c ffffffc0328b7f60
[   50.015693] 7f40: ffffff8008085680 0000000060000145 ffffffc0328b7f70 7fffffffffffffff
[   50.016527] [<ffffff8008084720>] el1_irq+0xa0/0x100
[   50.017201] [<ffffff8008085680>] arch_cpu_idle+0x10/0x18
[   50.017919] [<ffffff80080cf36c>] cpu_startup_entry+0x144/0x1d8
[   50.019187] [<ffffff800808df90>] secondary_start_kernel+0x170/0x1c8
[   50.020968] [<000000002008184c>] 0x2008184c
[   50.022011] rcu_sched kthread starved for 5247 jiffies! g583 c582 f0x2 RCU_GP_WAIT_FQS(3) ->state=0x100
[   50.023441] rcu_sched       W ffffff8008085b1c     0     7      2 0x00000000
[   50.024350] Call trace:
[   50.024641] [<ffffff8008085b1c>] __switch_to+0xc4/0xd0
[   50.025238] [<ffffff80087d6734>] __schedule+0x19c/0x588
[   50.025721] [<ffffff80087d6b50>] schedule+0x30/0x90
[   50.026034] [<ffffff80087d93e8>] schedule_timeout+0x108/0x1b0
[   50.028872] [<ffffff80080e2e10>] rcu_gp_kthread+0x368/0x7a0
[   50.029466] [<ffffff80080b60e8>] kthread+0xd0/0xe8
[   50.029889] [<ffffff8008084dd0>] ret_from_fork+0x10/0x40

The command that I'm using to launch QEMU is the one shown in the user manual.

Anyway, I have observe that even when the image booting seems to be correct and I arrive into Dom0 terminal, the system never mounts /proc, /sys and /debug directories, and even if the kernel panic hasn't happened yet, it can happens also when I try to run a xl command or simply when Dom0 or the guest Dom1 is running. 

Here you have how the system never mounts the mentioned directories:

Starting network...
Starting Xilinx Xen Boot Scripts: mount: mounting none on /proc failed: Device or resource busy
mount: mounting none on /sys/ failed: Device or resource busy
mount: mounting none on /debug/ failed: No such file or directory

Finally, I can also observe that sometimes the launching process get stuck in some step and doesn't appear any kernel panic as for example in the next case:

tarting network...
Starting Xilinx Xen Boot Scripts: mount: mounting none on /proc failed: Device or resource busy
mount: mounting none on /sys/ failed: Device or resource busy
mount: mounting none on /debug/ failed: No such file or directory
[   42.827299] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   44.620198] macb ff0e0000.ethernet eth0: unable to generate target frequency: 25000000 Hz
[   44.621754] macb ff0e0000.ethernet eth0: link up (100/Half)
[   44.679022] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   50.693458] xenbr0: port 1(eth0) entered blocking state
[   50.696538] xenbr0: port 1(eth0) entered disabled state
[   50.725696] device eth0 entered promiscuous mode
udhcpc (v1.23.1) started
[   51.648543] xenbr0: port 1(eth0) entered blocking state
[   51.649553] xenbr0: port 1(eth0) entered forwarding state
Sending discover...
Sending select for
Lease of obtained, lease time 86400
deleting routers

Any answer will be welcome,
Best regards,

Print this item

  What type of dom0 Image does Xen expect/require?
Posted by: brettstahlman - 03-15-2017, 10:42 PM - Forum: Public Support - Replies (4)

Inspection of the build artifacts from a petalinux-build shows a vmlinux whose <stext> section starts at 0x80040, with an unconditional branch to 0x80040 at start of _text section @ 0x80000. When I try to boot a dom0 kernel built with buildroot, boot simply hangs. Don't know whether this is the problem, but I've noticed that the buildroot-generated vmlinux file used to create the dom0 Image has PE and COFF headers at the 0x80000 address prior to the stext section. (The code at 0x80000 is an add, followed by an unconditional branch past the headers to <stext>.) First of all, can anyone provide a link to documentation on what exactly Xen is expecting? I've seen several boot examples, but I'm having trouble locating documentation on the applicable boot protocol.

I'm wondering whether there's something I could modify here...

fatload mmc 0:1 0x80000 Image
fdt set /chosen/dom0 reg <0 0x80000 0x$filesize>

...which would allow me to boot a non-petalinux Image (e.g., one that has the standard EFI boot stub at 0x80000).

What is the "secret sauce" that allows the petalinux Image to boot where the buildroot Image hangs? (Note that I've booted the buildroot Image successfully without Xen...)

Print this item

  Question on format of dom0 kernel image in XZD distribution
Posted by: brettstahlman - 03-14-2017, 06:40 PM - Forum: Public Support - No Replies

Thus far, I've had no need to rebuild the default linux kernel that ships with XZD:


The linux "file" utility calls this file "data". I have another dom0 kernel I'm attempting to boot (unsuccessfully), which the file utility reports as...
"MS-DOS executable, MZ for MS-DOS"

As best I can tell, the latter image is an objcopy'd version of the uncompressed linux kernel executable "vmlinux".

When I attempt to boot using this non-XZD kernel file, the boot simply hangs at the end of the Xen kernel load, at the point where the linux kernel would normally start booting. Clearly, though the files are both named "Image", they are different formats, and apparently, whereas the one included in XZD is suitable for loading at 0x80000, the one corresponding to vmlinux is not. What is the format of dist/images/linux/Image? How is it built? Any light you can shed on what format(s) the Xen kernel can handle would be greatly appreciated. Also appreciated would be links to any relevant documentation.

*** Update ***
I've noticed another Image file in the XZD distribution whose format is similar to the one I've been unable to boot:


This image also has the "MS-DOS executable, MZ for MS-DOS" format, and is significantly larger than the "<project>/images/linux/Image" created by petalinux-build. I suspect that this file is meant to be loaded as an executable from disk, whereas the smaller "data" Image is meant to be loaded directly to RAM by the boot script, and eventually jumped into by the Xen kernel. If so, how can I create the smaller "data" file (the one suitable for load from boot script) from vmlinux? I'm thinking it involves objcopy, but even when I run petalinux-build with verbose option (-v), the full objcopy command doesn't appear in the output, so I can't tell which options are required...

*** Update ***
I've now used objdump to examine both source vmlinux images, and I think I can see why the Image produced from one boots and the other doesn't. The one that boots has an unconditional branch at the start of the _text section (0x80000) to section <stext> (0x80040). The vmlinux whose corresponding Image doesn't boot has the PE/COFF headers at the beginning, and the <stext> section at a significantly higher address (after all the headers and a bunch of NOPs). What exactly is the Xen kernel expecting to find at 0x80000? Do I need to build a vmlinux without the PE/COFF headers, or should I just modify my build process to strip certain header sections out?

Print this item

  Qemu launches but boot hangs before login prompt
Posted by: brettstahlman - 02-22-2017, 08:46 PM - Forum: Getting Started - Replies (19)

Preliminary question: Is it necessary to match Petalinux version to Xilinx SDK version? I'm using the latest version of each:

  • Petalinux version 2016.4
  • Xilinx SDK version 2016.3
Here's the command I'm using to launch qemu:

Quote:qemu-system-aarch64 -L $RELEASE_DIR/etc/qemu -M arm-generic-fdt -
device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 -serial monConfusedtdio -serial
/dev/null -display none -device loader,file=$RELEASE_DIR/dist/images/linux/bl31.elf,cpu=0 -
device loader,file=$RELEASE_DIR/dist/images/linux/u-boot.elf -gdb tcp::9000 -tftp /tftpboot
-drive file=$RELEASE_DIR/dist/images/dom0.img,format=raw,if=sd -redir tcp:2222::22 -net
nic,vlan=0 -net user,vlan=0 -net nic,vlan=0 -net nic,vlan=0 -net nic,vlan=0 -hw-dtb
$RELEASE_DIR/dist/images/linux/zynqmp-qemu-arm.dtb -pflash

The last message I see in the boot console is...

Quote:Initializing random number generator...

...and I never get a prompt. Looking back through the build output, I see several things that look problematic: e.g.,

Quote:WARNING: CPU: 0 PID: 1 at /opt/Xilinx/petalinux-v2016.3-final/components/linux-kernel/xlnx-4.6/drivers/ata/libahci.c:225 ahci_enable_ahci+0x4c/0x60

...which is followed by a stack dump from ahci_enable_ahci.

I also see several errors/warnings regarding Mali device driver: e.g.,

Mali: ERR: <...>/mali_pp.c
Mali PP: Failed to reset core Mali_PP0, rawstat: 0x00000000

Mali: ERR: <...>/mali_kernel_core.c
Failed to create initial PP object

Mali: ERR: <...>/mali_kernel_linux.c
mali_probe(): Failed to initialize Mali device driver.
mali-utgard: probe of fd4b0000.gpu failed with error -14
Mali: Mali device driver loaded

Print this item

  Zynq mpsoc dev kit not able to boot with RT kernel + xen hypervisor
Posted by: paresh.chaudhary - 02-21-2017, 04:36 PM - Forum: Public Support - Replies (4)

Hi Team,

Without RT linux:

I have compiled kernel 4.6.0 , fs and use dornerworks prebuild xen.ub for zynq mpsoc dev kit. With those file board can boot without any issue and i can boot guest os from dom.

With RT Linux:

When I use real time kernel 4.6.0 with prebuild dornerworks xen.ub for zynq mpsoc dev kit  then board not able to boot.

Does xen firmware support real time kernel ?

I have also attached my boot log for reference.

Print this item

  Interprocess commnication in XEN
Posted by: paresh.chaudhary - 02-15-2017, 04:49 PM - Forum: Public Support - Replies (1)


I would like to know how IPC works in XEN.

Anybody have any reference link to understand ?

Print this item

  ZCU102 dev kit not able to boot with xen hypervisor
Posted by: paresh.chaudhary - 02-08-2017, 10:08 PM - Forum: Public Support - Replies (4)


Before go ahead i am trying to boot pre-build images on zcu102 devkit. For that i am referring 4.2.2. Booting via SD card. But i don't why board is stuck on uboot.

I have attached boot log. Can anybody have idea about this ?

Attached Files
.txt   bootlog.txt (Size: 1.69 KB / Downloads: 8)
Print this item

  Mapping physical peripherals through to guests without any dom0 interaction
Posted by: paresh.chaudhary - 02-02-2017, 08:20 PM - Forum: Public Support - Replies (5)


I want to isolate dedicated hardware or memory range from a Guest os to the processor peripheral without going through DOM0 on ZYNQ MPSOC.

How it's possible in Xen hypervisor ?

Print this item

  "make dist-tools" from inside a VM with controlled Internet access
Posted by: BraetonTaylor - 01-26-2017, 08:47 PM - Forum: Public Support - Replies (3)

When doing the command:

cd $PROJ_DIR/$PROJ_NAME/components/apps/xen/xen-src
make dist-tools CROSS_COMPILE=aarch64-buildroot-linux-gnu- XEN_TARGET_ARCH=arm64 CONFIG_EARLY_PRINTK=ronaldo

I get the following error:
   Cloning into 'qemu-xen-dir-remote.tmp'...
   fatal: unable to connect to xenbits.xen.org:
   xenbits.xen.org: Name or service not known
when it is running "/disk2/XZD/XenDOM0/components/apps/xen/xen-src/tools/../scripts/git-checkout.sh git://xenbits.xen.org/qemu-xen.git qemu-xen-4.7.0-rc4 qemu-xen-dir"

To make the system use http instead of git, I can update file "components/apps/xen/xen-src/Config.mk" and add line "export GIT_HTTP=y" just before line with "ifeq ($(GIT_HTTP),y)".

Then I get this:
   Cloning into 'qemu-xen-dir-remote.tmp'...
   fatal: unable to access 'http://xenbits.xen.org/git-http/qemu-xen.git/': Could not resolve host: xenbits.xen.org
when it is running "/disk2/XZD/XenDOM0/components/apps/xen/xen-src/tools/../scripts/git-checkout.sh http://xenbits.xen.org/git-http/qemu-xen.git/ qemu-xen-4.7.0-rc4 qemu-xen-dir"

Note the use of http: and git-http now.

To fix this error, I can define these:
  export http_proxy=<Company Proxy Server with my User Name and Password>
  export https_proxy=<Company Proxy Server with my User Name and Password>

Then I get this, this is how it should look:
  Cloning into 'qemu-xen-dir-remote.tmp'...
  remote: Counting objects: 302654, done.
  remote: Compressing objects: 100% (72963/72963), done.
  remote: Total 302654 (delta 245259), reused 284315 (delta 228934)
  Receiving objects: 100% (302654/302654), 96.06 MiB | 2.33 MiB/s, done.
  Resolving deltas: 100% (245259/245259), done.
  Checking connectivity... done.

However, I cannot use this as final solution, as putting my user name and password into a script or even environment variables is not allowed.  Any suggestions on how to fix this?  Ideally, I would like to download all the components that I need ahead of time, put them into a Zip files and just unzip them instead of downloading them.

Print this item

  XZD_20161231 Release
Posted by: jarvis_roach - 01-09-2017, 03:59 PM - Forum: Knowledge Base - Replies (3)

DornerWorks is pleased to announce the XZD_20161231 release of XZD!

XZD Package:  http://dornerworks.com/wp-content/upload...161231.tgz
User's Manual:  http://dornerworks.com/wp-content/upload...Manual.pdf

New Features
Support for Petalinux v2016.3
Xen virtual console support for bare metal guests
Updated Ethernet passthrough for bare metal guest examples
Added support for Ubuntu 16.04 hosts

Print this item