diff options
author | Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> | 2024-10-07 21:22:22 -0600 |
---|---|---|
committer | Mark Hatle <mark.hatle@amd.com> | 2024-10-09 08:34:47 -0500 |
commit | ebf254948e1309051793dffd01db36d4092608ea (patch) | |
tree | 833dde9f6c90992345bd87cb1f089a7a523cce09 | |
parent | ec6815ed64d808423bcc957cdada9499bfbfc6a7 (diff) | |
download | meta-xilinx-ebf254948e1309051793dffd01db36d4092608ea.tar.gz |
u-boot-xlnx-scr: Fix kernel image overlap issue
Kernel image boot hangs when packagegroup-openamp is enabled.
$ runqemu nographic
runqemu - INFO - Running bitbake -e ...
runqemu - INFO - Continuing with the following parameters:
KERNEL: []
DTB: [/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/system.dtb]
MACHINE: [zcu111-zynqmp]
FSTYPE: [wic.qemu-sd]
ROOTFS: [/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/petalinux-image-minimal-zcu111-zynqmp-20241006163914.wic.qemu-sd]
CONFFILE: [/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/petalinux-image-minimal-zcu111-zynqmp-20241006163914.qemuboot.conf]
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: ip=192.168.7.2::192.168.7.1:255.255.255.0::eth0:off:8.8.8.8 net.ifnames=0
runqemu - INFO - Running /scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/work/x86_64-linux/qemu-helper-native/1.0/recipe-sysroot-native/usr/bin/qemu-system-aarch64-multiarch -net nic -net nic -net nic -net nic,netdev=net0,macaddr=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive if=sd,index=1,file=/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/petalinux-image-minimal-zcu111-zynqmp-20241006163914.wic.qemu-sd,format=raw -nodefaults -hw-dtb /scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/qemu-hw-devicetrees/multiarch/zcu102-arm.dtb -global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true -device loader,addr=0xfffc0000,data=0x584c4e5801000000,data-be=true,data-len=8 -device loader,addr=0xfffc0008,data=0x0000000800000000,data-be=true,data-len=8 -device loader,addr=0xfffc0010,data=0x1000000000000000,data-be=true,data-len=8 -device loader,addr=0xffd80048,data=0xfffc0000,data-len=4,attrs-secure=on -device loader,file=/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/arm-trusted-firmware.elf,cpu-num=0 -device loader,file=/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/u-boot.elf -device loader,file=/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/system.dtb,addr=0x100000,force-raw=on -boot mode=5 -pmu-args ' -M microblaze-fdt -display none -hw-dtb /scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/qemu-hw-devicetrees/multiarch/zynqmp-pmu.dtb -kernel /scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/pmu-rom.elf -device loader,file=/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/pmu-firmware-zcu111-zynqmp.elf -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 ' -machine arm-generic-fdt -m 4096 -serial mon:stdio -serial null -nographic
runqemu - INFO - Host uptime: 868688.21
PMU instance cmd: /scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/work/x86_64-linux/qemu-helper-native/1.0/recipe-sysroot-native/usr/bin/qemu-system-microblazeel -M microblaze-fdt -display none -hw-dtb /scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/qemu-hw-devicetrees/multiarch/zynqmp-pmu.dtb -kernel /scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/pmu-rom.elf -device loader,file=/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/pmu-firmware-zcu111-zynqmp.elf -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 -machine-path /tmp/tmp22ryxeee
APU instance cmd: /scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/work/x86_64-linux/qemu-helper-native/1.0/recipe-sysroot-native/usr/bin/qemu-system-aarch64 -net nic -net nic -net nic -net nic,netdev=net0,macaddr=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive if=sd,index=1,file=/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/petalinux-image-minimal-zcu111-zynqmp-20241006163914.wic.qemu-sd,format=raw -nodefaults -hw-dtb /scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/qemu-hw-devicetrees/multiarch/zcu102-arm.dtb -global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true -device loader,addr=0xfffc0000,data=0x584c4e5801000000,data-be=true,data-len=8 -device loader,addr=0xfffc0008,data=0x0000000800000000,data-be=true,data-len=8 -device loader,addr=0xfffc0010,data=0x1000000000000000,data-be=true,data-len=8 -device loader,addr=0xffd80048,data=0xfffc0000,data-len=4,attrs-secure=on -device loader,file=/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/arm-trusted-firmware.elf,cpu-num=0 -device loader,file=/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/u-boot.elf -device loader,file=/scratch/sandeep/yocto/2024.2/yp-dev/build-zynqmp/tmp/deploy/images/zcu111-zynqmp/system.dtb,addr=0x100000,force-raw=on -boot mode=5 -machine arm-generic-fdt -m 4096 -serial mon:stdio -serial null -nographic -machine-path /tmp/tmp22ryxeee
PMU Firmware 2024.2 Sep 26 2024 10:36:04
PMU_ROM Version: xpbr-v8.1.0-0
NOTICE: BL31: Non secure code at 0x8000000
NOTICE: BL31: v2.10.0 (release):xlnx_rebase_v2.10_2024.1-27-g14cea4616-dirty
NOTICE: BL31: Built : 04:42:28, Sep 19 2024
U-Boot 2024.01 (Oct 02 2024 - 11:20:40 +0000)
CPU: ZynqMP
Silicon: v3
Chip: unknown
Model: ZynqMP ZCU111 RevA
Board: Xilinx ZynqMP
DRAM: 2 GiB (effective 4 GiB)
PMUFW: v1.1
EL Level: EL2
Secure Boot: not authenticated, not encrypted
Core: 77 devices, 31 uclasses, devicetree: board
NAND: 0 MiB
MMC: mmc@ff170000: 0
Loading Environment from FAT... *** Error - No Valid Environment Area found
*** Warning - bad env area, using default environment
In: serial
Out: serial,vidconsole
Err: serial,vidconsole
Bootmode: SD_MODE1
Reset reason:
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id
Warning: ethernet@ff0e0000 (eth0) using random MAC address - 2e:b4:31:02:a8:93
eth0: ethernet@ff0e0000
scanning bus for devices...
SATA link 0 timeout.
SATA link 1 timeout.
AHCI 0001.0000 32 slots 2 ports 1.5 Gbps 0x3 impl SATA mode
flags: 64bit ncq only
starting USB...
Bus usb@fe200000: Register 8000440 NbrPorts 8
Starting the controller
USB XHCI 1.00
scanning bus usb@fe200000 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
4749 bytes read in 19 ms (243.2 KiB/s)
Trying to load boot images from mmc0
Checking for /image.ub
Checking for /Image
Loading Image at 0x00200000
25020928 bytes read in 5526 ms (4.3 MiB/s)
Checking for /system.dtb
Loading system.dtb at 0x00100000
58687 bytes read in 30 ms (1.9 MiB/s)
Checking for /devicetree/openamp.dtbo
Loading and merging openamp.dtbo into device tree at 0x1000000
5250 bytes read in 22 ms (232.4 KiB/s)
Working FDT set to 100000
Checking for /ramdisk.cpio.gz.u-boot
Checking for /rootfs.cpio.gz.u-boot
Working FDT set to 100000
Booting using the fdt blob at 0x100000
Working FDT set to 100000
Loading Device Tree to 0000000077bc4000, end 0000000077bdcfff ... OK
Working FDT set to 77bc4000
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.6.40-xilinx-g9f541a58e4c7 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240716) #1 SMP Wed Sep 25 08:26:32 UTC 2024
[ 0.000000] KASLR disabled due to lack of seed
[ 0.000000] Machine model: ZynqMP ZCU111 RevA
[ 0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[ 0.000000] printk: bootconsole [cdns0] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] OF: reserved mem: 0x000000003ed00000..0x000000003ed3ffff (256 KiB) nomap non-reusable rproc@3ed00000
[ 0.000000] OF: reserved mem: 0x000000003ed40000..0x000000003ed43fff (16 KiB) nomap non-reusable rpu0vdev0vring0@3ed40000
[ 0.000000] OF: reserved mem: 0x000000003ed44000..0x000000003ed47fff (16 KiB) nomap non-reusable rpu0vdev0vring1@3ed44000
[ 0.000000] OF: reserved mem: 0x000000003ed48000..0x000000003ee47fff (1024 KiB) nomap non-reusable rpu0vdev0buffer@3ed48000
[ 0.000000] OF: reserved mem: 0x000000003ef00000..0x000000003ef3ffff (256 KiB) nomap non-reusable rproc@3ef00000
[ 0.000000] OF: reserved mem: 0x000000003ef40000..0x000000003ef43fff (16 KiB) nomap non-reusable rpu0vdev0vring0@3ef40000
[ 0.000000] OF: reserved mem: 0x000000003ef44000..0x000000003ef47fff (16 KiB) nomap non-reusable rpu0vdev0vring1@3ef44000
[ 0.000000] OF: reserved mem: 0x000000003ef48000..0x000000003f047fff (1024 KiB) nomap non-reusable rpu0vdev0buffer@3ef48000
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 [mem 0x0000000000000000-0x00000000ffffffff]
[ 0.000000] Normal [mem 0x0000000100000000-0x000000087fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x000000003ecfffff]
[ 0.000000] node 0: [mem 0x000000003ed00000-0x000000003ee47fff]
[ 0.000000] node 0: [mem 0x000000003ee48000-0x000000003eefffff]
[ 0.000000] node 0: [mem 0x000000003ef00000-0x000000003f047fff]
[ 0.000000] node 0: [mem 0x000000003f048000-0x000000007fefffff]
[ 0.000000] node 0: [mem 0x0000000800000000-0x000000087fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff]
[ 0.000000] On node 0, zone Normal: 256 pages in unavailable ranges
[ 0.000000] cma: Reserved 256 MiB at 0x0000000067a00000 on node -1
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.4
[ 0.000000] percpu: Embedded 19 pages/cpu s37864 r8192 d31768 u77824
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] alternatives: applying boot alternatives
[ 0.000000] Kernel command line: earlycon root=/dev/mmcblk0p2 ro rootwait
[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1031940
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[ 0.000000] software IO TLB: area num 4.
[ 0.000000] software IO TLB: mapped [mem 0x000000007bf00000-0x000000007ff00000] (64MB)
[ 0.000000] Memory: 3756688K/4193280K available (15680K kernel code, 1074K rwdata, 4576K rodata, 2944K init, 467K bss, 174448K reserved, 262144K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=16 to nr_cpu_ids=4.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[ 0.000000] Root IRQ handler: gic_handle_irq
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] arch_timer: cp15 timer(s) running at 65.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0x1ffffffffffffff max_cycles: 0xefdb196da, max_idle_ns: 440795204367 ns
[ 0.000066] sched_clock: 57 bits at 65MHz, resolution 15ns, wraps every 2199023255550ns
[ 0.008222] Console: colour dummy device 80x25
[ 0.008688] printk: console [tty0] enabled
[ 0.009179] printk: bootconsole [cdns0] disabled
When the DT overlay is loaded, it overwrites part of the kernel
(25020928 bytes). 0x00200000 < 0x01000000 < 0x00200000 + 25020928.
Since Kernel image has increase and it overlaps with openamp DT overlay
load address. Hence increase the DEVICETREE_OVERLAY_PADSIZE so that it
doesn't overlap with kernel image.
Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
-rw-r--r-- | meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb index d2b6b9a5..e13413a1 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb | |||
@@ -84,7 +84,7 @@ DEVICETREE_OVERLAY_OFFSET:zynqmp ??= "0x100000" | |||
84 | DEVICETREE_OVERLAY_OFFSET:zynq ??= "0x100000" | 84 | DEVICETREE_OVERLAY_OFFSET:zynq ??= "0x100000" |
85 | DEVICETREE_OVERLAY_OFFSET:versal ??= "0x1000" | 85 | DEVICETREE_OVERLAY_OFFSET:versal ??= "0x1000" |
86 | DEVICETREE_OVERLAY_OFFSET:versal-net ??= "0x1000" | 86 | DEVICETREE_OVERLAY_OFFSET:versal-net ??= "0x1000" |
87 | DEVICETREE_OVERLAY_PADSIZE ??= "0xf00000" | 87 | DEVICETREE_OVERLAY_PADSIZE ??= "0x1f00000" |
88 | 88 | ||
89 | DEVICETREE_OVERLAY_ADDRESS ?= "${@hex(int(append_baseaddr(d,d.getVar('DEVICETREE_OVERLAY_OFFSET')),16) \ | 89 | DEVICETREE_OVERLAY_ADDRESS ?= "${@hex(int(append_baseaddr(d,d.getVar('DEVICETREE_OVERLAY_OFFSET')),16) \ |
90 | + int(d.getVar('DEVICETREE_OVERLAY_PADSIZE'),16))}" | 90 | + int(d.getVar('DEVICETREE_OVERLAY_PADSIZE'),16))}" |