On Zynq UltraScale+ devices, a Xen kernel panic occurs when booting large rootfs.cpio.gz.u-boot files with a size greater than 70Mb.
Starting kernel ...
Xen 4.8.1-pre
(XEN) Xen version 4.8.1-pre (sandeepg@) (aarch64-xilinx-linux-gcc (Linaro GCC 6.2-2016.11) 6.2.1 20161016) debug=n Mon Nov 6 15:38:38 MST 2017
(XEN) Latest ChangeSet: Sun Mar 26 23:37:13 2017 +0200 git:ba8ea4d-dirty
(XEN) Processor: 410fd034: "ARM Limited", variant: 0x0, part 0xd03, rev 0x4
(XEN) 64-bit Execution:
(XEN) Processor Features: 0000000000002222 0000000000000000
(XEN) Exception Levels: EL3:64+32 EL2:64+32 EL1:64+32 EL0:64+32
(XEN) Extensions: FloatingPoint AdvancedSIMD
(XEN) Debug Features: 0000000010305106 0000000000000000
(XEN) Auxiliary Features: 0000000000000000 0000000000000000
(XEN) Memory Model Features: 0000000000001122 0000000000000000
(XEN) ISA Features: 0000000000011120 0000000000000000
(XEN) 32-bit Execution:
(XEN) Processor Features: 00000131:00011011
(XEN) Instruction Sets: AArch32 A32 Thumb Thumb-2 Jazelle
(XEN) Extensions: GenericTimer Security
(XEN) Debug Features: 03010066
(XEN) Auxiliary Features: 00000000
(XEN) Memory Model Features: 10201105 40000000 01260000 02102211
(XEN) ISA Features: 02101110 13112111 21232042 01112131 00011142 00011121
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 100000 KHz
(XEN) GICv2 initialization:
(XEN) gic_dist_addr=00000000f9010000
(XEN) gic_cpu_addr=00000000f9020000
(XEN) gic_hyp_addr=00000000f9040000
(XEN) gic_vcpu_addr=00000000f9060000
(XEN) gic_maintenance_irq=25
(XEN) GICv2: Adjusting CPU interface base to 0xf902f000
(XEN) GICv2: 192 lines, 4 cpus, secure (IID 0200143b).
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Allocated console ring of 16 KiB.
(XEN) Bringing up CPU1
(XEN) Bringing up CPU2
(XEN) Bringing up CPU3
(XEN) Brought up 4 CPUs
(XEN) P2M: 40-bit IPA with 40-bit PA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80023558
(XEN) I/O virtualisation enabled
(XEN) - Dom0 mode: Relaxed
(XEN) Interrupt remapping enabled
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 0000000000080000
(XEN) Loading ramdisk from boot module @ 0000000077ab8000
(XEN) Allocating 1:1 mappings totalling 768MB for dom0:
(XEN) BANK[0] 0x00000020000000-0x00000040000000 (512MB)
(XEN) BANK[1] 0x00000840000000-0x00000850000000 (256MB)
(XEN) Grant table range: 0x0000007fe00000-0x0000007fe56000
(XEN) Loading zImage from 0000000000080000 to 0000000020080000-0000000023180000
(XEN) Loading dom0 initrd from 0000000077ab8000 to 0x0000000028200000-0x000000002e62ba1b
(XEN) Allocating PPI 16 for event channel interrupt
(XEN) Loading dom0 DTB to 0x0000000028000000-0x0000000028008ca6
(XEN) Std. Loglevel: Errors and warnings
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 272kB init memory.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.0-xilinx-v2017.1 (sandeepg@xcoapps62) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 SMP Mon Nov 6 15:38:52 MST 2017
[ 0.000000] Boot CPU: AArch64 Processor [410fd034]
[ 0.000000] earlycon: xen0 at I/O port 0x0 (options '')
[ 0.000000] bootconsole [xen0] enabled
[ 0.000000] Xen 4.8 support found
[ 0.000000] efi: Getting EFI parameters from FDT:
.........
.........
[ 6.130944] RAMDISK: Couldn't find valid RAM disk image starting at 0.
[ 6.137443] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[ 6.144893] Please append a correct "root=" boot option; here are the available partitions:
[ 6.153276] 0100 65536 ram0 [ 6.156817] (driver?)
[ 6.159242] 0101 65536 ram1 [ 6.162786] (driver?)
[ 6.165208] 0102 65536 ram2 [ 6.168753] (driver?)
[ 6.171179] 0103 65536 ram3 [ 6.174723] (driver?)
[ 6.177141] 0104 65536 ram4 [ 6.180690] (driver?)
[ 6.183116] 0105 65536 ram5 [ 6.186663] (driver?)
[ 6.189081] 0106 65536 ram6 [ 6.192629] (driver?)
[ 6.195052] 0107 65536 ram7 [ 6.198597] (driver?)
[ 6.201015] 0108 65536 ram8 [ 6.204564] (driver?)
[ 6.206989] 0109 65536 ram9 [ 6.210527] (driver?)
[ 6.212958] 010a 65536 ram10 [ 6.216587] (driver?)
[ 6.219016] 010b 65536 ram11 [ 6.222646] (driver?)
[ 6.225062] 010c 65536 ram12 [ 6.228697] (driver?)
[ 6.231123] 010d 65536 ram13 [ 6.234754] (driver?)
[ 6.237172] 010e 65536 ram14 [ 6.240811] (driver?)
[ 6.243233] 010f 65536 ram15 [ 6.246863] (driver?)
[ 6.249287] 1f00 1024 mtdblock0 [ 6.253266] (driver?)
[ 6.255689] 1f01 5120 mtdblock1 [ 6.259666] (driver?)
[ 6.262089] 1f02 128 mtdblock2 [ 6.266066] (driver?)
[ 6.268491] 1f03 6016 mtdblock3 [ 6.272470] (driver?)
[ 6.274892] 1f04 30720 mtdblock4 [ 6.278869] (driver?)
[ 6.281290] 1f05 256 mtdblock5 [ 6.285269] (driver?)
[ 6.287694] 1f06 36864 mtdblock6 [ 6.291671] (driver?)
[ 6.294090] 1f07 63232 mtdblock7 [ 6.298071] (driver?)
[ 6.300496] b300 15558144 mmcblk0 [ 6.304299] driver: mmcblk
[ 6.307157] b301 15554048 mmcblk0p1 00000000-01[ 6.312257]
[ 6.313811] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 6.322116] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.0-xilinx-v2017.1 #1
[ 6.329292] Hardware name: ZynqMP ZCU102 RevB (DT)
[ 6.334136] Call trace:
[ 6.336653] [<ffffff80080880f0>] dump_backtrace+0x0/0x198
[ 6.342100] [<ffffff800808829c>] show_stack+0x14/0x20
[ 6.347202] [<ffffff80083da114>] dump_stack+0x94/0xb8
[ 6.352305] [<ffffff800812a350>] panic+0x114/0x25c
[ 6.357150] [<ffffff8008be10e8>] mount_block_root+0x198/0x270
[ 6.362943] [<ffffff8008be13f8>] mount_root+0x11c/0x134
[ 6.368220] [<ffffff8008be157c>] prepare_namespace+0x16c/0x1b4
[ 6.374102] [<ffffff8008be0d14>] kernel_init_freeable+0x1c0/0x1e0
[ 6.380244] [<ffffff800890b0c8>] kernel_init+0x10/0x100
[ 6.385519] [<ffffff8008082e80>] ret_from_fork+0x10/0x50
[ 6.390881] Kernel Offset: disabled
[ 6.394426] Memory Limit: none
[ 6.397544] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)