Xilinx / systemctlm-cosim-demo

QEMU libsystemctlm-soc co-simulation demos.
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/862421112/Co-simulation
Other
131 stars 47 forks source link

No blocking transport callback registered #27

Open albaEDA opened 2 years ago

albaEDA commented 2 years ago

Hello,

I have a problem running the ./zynqmp_demo. My setup: Ubuntu 20.04 systemc-2.3.3 petalinux 2021.2 xilinx-zcu102-v2021.2-final.bsp qemu-devicetrees/LATEST/MULTI_ARCH/zcu102-arm.cosim.dtb

All works well apart from when the QEMU session it disconnects at the following;

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.10.0-xilinx-v2021.2 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP Tue Oct 12 09:30:57 UTC 2021
[    0.000000] Machine model: ZynqMP ZCU102 Rev1.0
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 256 MiB at 0x000000006d800000
[    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-0x000000007fefffff]
[    0.000000]   node   0: [mem 0x0000000800000000-0x000000087fffffff]
[    0.000000] Zeroed struct page in unavailable ranges: 256 pages
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff]
[    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.2
[    0.000000] percpu: Embedded 22 pages/cpu s50968 r8192 d30952 u90112
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1031940
[    0.000000] Kernel command line:  earlycon console=ttyPS0,115200 clk_ignore_unused init_fatal_sh=1
[    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] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x0000000069800000-0x000000006d800000] (64MB)
[    0.000000] Memory: 3757972K/4193280K available (13952K kernel code, 982K rwdata, 3928K rodata, 2112K init, 586K bss, 173164K reserved, 262144K cma-reserved)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] irq-xilinx: mismatch in kind-of-intr param
[    0.000000] irq-xilinx: /amba_pl@0/interrupt-controller@80020000: num_irq=32, sw_irq=0, edge=0x1
qemu-system-aarch64: /amba@0/cosim@0: Disconnected clk=3420459705 ns

qemu-system-microblazeel: /pmu@0: Disconnected clk=3433227568 ns

and on the systemc side

        SystemC 2.3.3-Accellera --- Jan 18 2022 22:46:04
        Copyright (c) 1996-2018 by all Contributors,
        ALL RIGHTS RESERVED

Info: (I702) default timescale unit used for tracing: 1 ps (trace.vcd)
open socket
connect to ../zcu102_linux/tmp/qemu-rport-_amba@0_cosim@0

Error: /OSCI_TLM-2/simple_socket: top.simple_target_socket_1: no blocking transport callback registered
In file: convenience_socket_bases.cpp:42
In process: top.zynq.process @ 3250001006 ns

Any ideas what might be causing this?

Thanks

edgarigl commented 2 years ago

Hi Aron,

Have you possibly edited the zynqmp_demo.cc file? I don't recognize the top.simple_target_socket_1 socket. If you've added it intentionally, you'll need to implement the b_transport functions for it so it can receive traffic.

Best regards, Edgar

edgarigl commented 2 years ago

Hi,

Francisco just mentioned to me that this could be related to accesses to Zynq PS ports that are not connected (tied off). I wonder what address that could be. We should probably change our tie off could to print debug messages when receiving transactions...

Best regards, Edgar

albaEDA commented 2 years ago

@edgarigl

Thanks for the swift reply, the only thing I have modified with zynqmp_demo.cc is moving from systemc-2.3.2 -> systemc-2.3.3.

To give a bit of background, the following works fine for me; Ubuntu 18.04 systemc-2.3.3 petalinux 2020.2 xilinx-zcu102-v2021.2-final.bsp qemu-devicetrees/LATEST/MULTI_ARCH/zcu102-arm.cosim.dtb

but when I move to ubuntu 20.04 and compile with petalinux 2020.2 it fails to create a workspace, i tried xilinx-zcu102-v2020.2-final.bsp, this compiles but as soon as zynqmp_demo connect to the port it causes a segmentation error on QEMU (unknown why).

I did a bit of digging and it seems like someone else is having the same issue on the forums: https://support.xilinx.com/s/question/0D52E000070qcyUSAQ/hello-i-am-running-cosimulation-for-zynqmp-zcu102-bsp-starting-kernel-has-been-interrupted-see-below-qemusystemaarch64-amba0cosim0-disconnected-clk4564465595-nsthank-you?language=en_US

They didn't give any environment details but I'm guessing it could be Ubuntu 20.04 / Petalinux 2021.2?

Anyway, some debug messages would be great I tried stepping through the execution with GDB but ended up down a rabbit hole. Do you have any debug switches to make the output any more vebrose?

Thanks for your time

franciscoIglesias commented 2 years ago

Hi Aron,

Could you try connecting the zynq.s_axi_hpm_lpd similar to zynq.s_axi_hpm_fpd[0]?

//
// In zynqmp_demo.cc
//
-#define NR_MASTERS 1 + NR_DEMODMA
+#define NR_MASTERS 2 + NR_DEMODMA
...
                zynq.s_axi_hpm_fpd[0]->bind(*(bus.t_sk[0]));
+               zynq.s_axi_hpm_lpd->bind(*(bus.t_sk[1]));

Below gives me the impression that an access to the hpm_lpd area is being made (and if the socket is not connect to the 'bus' above will happen):

[    0.000000] irq-xilinx: /amba_pl@0/interrupt-controller@80020000: num_irq=32, sw_irq=0, edge=0x1

Best regards, Francisco Iglesias

albaEDA commented 2 years ago

@franciscoIglesias

Hey Francisco,

Making those changes I see the following systemc runtime error on zynqmp_demo

Error: (E109) complete binding failed: port not bound: port 'top.bus.target_socket_5_port_0' (sc_port)

Maybe the DMA binding needs moved around?

Thanks

franciscoIglesias commented 2 years ago

Hi Aron,

Yes that's right (sorry for missing that!), the DMA needs to be connected on the target sockets following hpm_lpd (2+i) as below:

-                       dma[i]->init_socket.bind(*(bus.t_sk[1 + i]));
+                       dma[i]->init_socket.bind(*(bus.t_sk[2 + i]));

Best regards, Francisco Iglesias

albaEDA commented 2 years ago

So I changed it to zynq.s_axi_hpm_lpd->bind(*(bus.t_sk[5])); instead as I didn't want to edit the DMA code incase it was used elsewhere and now it it runs to:

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.10.0-xilinx-v2021.2 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP Tue Oct 12 09:30:57 UTC 2021
[    0.000000] Machine model: ZynqMP ZCU102 Rev1.0
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 256 MiB at 0x000000006d800000
[    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-0x000000007fefffff]
[    0.000000]   node   0: [mem 0x0000000800000000-0x000000087fffffff]
[    0.000000] Zeroed struct page in unavailable ranges: 256 pages
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff]
[    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.2
[    0.000000] percpu: Embedded 22 pages/cpu s50968 r8192 d30952 u90112
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1031940
[    0.000000] Kernel command line:  earlycon console=ttyPS0,115200 clk_ignore_unused init_fatal_sh=1
[    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] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x0000000069800000-0x000000006d800000] (64MB)
[    0.000000] Memory: 3757972K/4193280K available (13952K kernel code, 982K rwdata, 3928K rodata, 2112K init, 586K bss, 173164K reserved, 262144K cma-reserved)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] irq-xilinx: mismatch in kind-of-intr param
[    0.000000] irq-xilinx: /amba_pl@0/interrupt-controller@80020000: num_irq=32, sw_irq=0, edge=0x1
qemu-system-aarch64: Number of outstanding transactions exceeded! 32
qemu-system-aarch64: /amba@0/cosim@0: Internal error clk=3347995902 ns

qemu-system-microblazeel: /pmu@0: Disconnected clk=3357547953 ns
franciscoIglesias commented 2 years ago

Hi Aron,

Above happens because there is no model connected at the target address of the accesses (transactions) on the interconnect (bus).

Best regards, Francisco Iglesias

albaEDA commented 2 years ago

Hey @franciscoIglesias

So would that mean adding something like? bus.memmap(0x0LL, 0xffffffff - 1, ADDRMODE_RELATIVE, -1, *(zynq.s_axi_hpc_fpd[0]));

Is there a way to add an empty model? Could you also shed some light on why I don't see the same issues on Ubuntu 18.04 / Petalinux 20.02?

Thanks for your time

franciscoIglesias commented 2 years ago

Hi Aron,

You can follow the debugdev (debugdev.h and debugdev.cc ) for how to create and connect a relatively simple model.

If petalinux 20.02 runs I think it is because the kernel (or kernel dtb) is not configured to use above driver (the kernel driver tries to access a model of the interrupt controller at above position).

Best regards, Francisco Iglesias

albaEDA commented 2 years ago

Hey @franciscoIglesias,

After binding the suggested ports and created a dummy irq to monitor 0x80020000 that just sends okay responses, this allows it to boot all the way now;

[INFO] Sourcing buildtools
Image resized.
INFO: No DTB has been specified, use the default one "/home/aaron/VerilogTools/zcu102_linux/Lab2/images/linux/system.dtb".
INFO: No DTB has been specified, use the default one "/home/aaron/VerilogTools/zcu102_linux/Lab2/images/linux/system.dtb".
INFO: Starting microblaze QEMU
INFO: Starting the above QEMU command in the background
INFO:  qemu-system-microblazeel -M microblaze-fdt   -serial mon:stdio -serial /dev/null -display none -kernel /home/aaron/VerilogTools/zcu102_linux/Lab2/pre-built/linux/images/pmu_rom_qemu_sha3.elf -device loader,file=/home/aaron/VerilogTools/zcu102_linux/Lab2/images/linux/pmufw.elf      -hw-dtb /home/aaron/VerilogTools/zcu102_linux/Lab2/images/linux/zynqmp-qemu-multiarch-pmu.dtb -machine-path ../tmp -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4
qemu-system-microblazeel: Failed to connect socket ../tmp/qemu-rport-_pmu@0: Connection refused
qemu-system-microblazeel: info: QEMU waiting for connection on: disconnected:unix:../tmp/qemu-rport-_pmu@0,server
INFO: TCP PORT is free 9004
INFO: Starting aarch64 QEMU
INFO:  qemu-system-aarch64 -M arm-generic-fdt   -serial mon:stdio -serial /dev/null -display none -device loader,file=/home/aaron/VerilogTools/zcu102_linux/Lab2/images/linux/bl31.elf,cpu-num=0 -device loader,file=/home/aaron/VerilogTools/zcu102_linux/Lab2/images/linux/ramdisk.cpio.gz.u-boot,addr=0x04000000,force-raw -device loader,file=/home/aaron/VerilogTools/zcu102_linux/Lab2/images/linux/u-boot.elf -device loader,file=/home/aaron/VerilogTools/zcu102_linux/Lab2/images/linux/Image,addr=0x00200000,force-raw -device loader,file=/home/aaron/VerilogTools/zcu102_linux/Lab2/images/linux/system.dtb,addr=0x00100000,force-raw -device loader,file=/home/aaron/VerilogTools/zcu102_linux/Lab2/images/linux/boot.scr,addr=0x20000000,force-raw -gdb tcp::9004   -net nic -net nic -net nic -net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot   -hw-dtb /home/aaron/VerilogTools/qemu-devicetrees/LATEST/MULTI_ARCH/zcu102-arm.cosim.dtb -machine-path ../tmp -global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true  -drive if=sd,format=raw,index=1,file=/home/aaron/VerilogTools/zcu102_linux/Lab2/images/linux/rootfs.ext4  -sync-quantum 1000000  -m 4G
QEMU 5.1.0 monitor - type 'help' for more information
(qemu) qemu-system-aarch64: Failed to connect socket ../tmp/qemu-rport-_amba@0_cosim@0: Connection refused
qemu-system-aarch64: info: QEMU waiting for connection on: disconnected:unix:../tmp/qemu-rport-_amba@0_cosim@0,server
qemu-system-aarch64: warning: hub 0 is not connected to host network
PMU Firmware 2021.2 Oct 13 2021   07:15:53
PMU_ROM Version: xpbr-v8.1.0-0
NOTICE:  BL31: v2.4(release):xlnx_rebase_v2.4_2021.1_update1-23-g9188496b9
NOTICE:  BL31: Built : 07:41:24, Oct 13 2021

U-Boot 2021.01 (Oct 12 2021 - 09:28:42 +0000)

CPU:   ZynqMP
Silicon: v3
Model: ZynqMP ZCU102 Rev1.0
Board: Xilinx ZynqMP
DRAM:  4 GiB
PMUFW:  v1.1
EL Level:   EL2
Chip ID:    unknown
NAND:  0 MiB
MMC:   mmc@ff170000: 0
In:    serial
Out:   serial
Err:   serial
Bootmode: JTAG_MODE
Reset reason:   
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id

Warning: ethernet@ff0e0000 (eth0) using random MAC address - 32:bb:fe:8e:ba:a8
eth0: ethernet@ff0e0000
Hit any key to stop autoboot:  0
JTAG: Trying to boot script at 20000000
## Executing script at 20000000
Trying to load boot images from jtag
## Loading init Ramdisk from Legacy Image at 04000000 ...
   Image Name:   petalinux-initramfs-image-zynqmp
   Created:      2011-04-05  23:00:00 UTC
   Image Type:   AArch64 Linux RAMDisk Image (uncompressed)
   Data Size:    5113706 Bytes = 4.9 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 00100000
   Booting using the fdt blob at 0x100000
   Loading Ramdisk to 7d82e000, end 7dd0e76a ... OK
   Loading Device Tree to 000000007d81d000, end 000000007d82dcb8 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.10.0-xilinx-v2021.2 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP Tue Oct 12 09:30:57 UTC 2021
[    0.000000] Machine model: ZynqMP ZCU102 Rev1.0
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 256 MiB at 0x000000006d800000
[    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-0x000000007fefffff]
[    0.000000]   node   0: [mem 0x0000000800000000-0x000000087fffffff]
[    0.000000] Zeroed struct page in unavailable ranges: 256 pages
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff]
[    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.2
[    0.000000] percpu: Embedded 22 pages/cpu s50968 r8192 d30952 u90112
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1031940
[    0.000000] Kernel command line:  earlycon console=ttyPS0,115200 clk_ignore_unused init_fatal_sh=1
[    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] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x0000000069800000-0x000000006d800000] (64MB)
[    0.000000] Memory: 3757972K/4193280K available (13952K kernel code, 982K rwdata, 3928K rodata, 2112K init, 586K bss, 173164K reserved, 262144K cma-reserved)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] irq-xilinx: mismatch in kind-of-intr param
[    0.000000] irq-xilinx: /amba_pl@0/interrupt-controller@80020000: num_irq=32, sw_irq=0, edge=0x1
[    0.000000] random: get_random_bytes called from start_kernel+0x31c/0x524 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 65.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xefdb196da, max_idle_ns: 440795204367 ns
[    0.000091] sched_clock: 56 bits at 65MHz, resolution 15ns, wraps every 2199023255550ns
[    0.005175] Console: colour dummy device 80x25
[    0.005975] Calibrating delay loop (skipped), value calculated using timer frequency.. 130.00 BogoMIPS (lpj=260000)
[    0.006209] pid_max: default: 32768 minimum: 301
[    0.008066] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.008276] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.031071] rcu: Hierarchical SRCU implementation.
[    0.033249] EFI services will not be available.
[    0.035185] smp: Bringing up secondary CPUs ...
[    0.048542] Detected VIPT I-cache on CPU1
[    0.049333] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.062644] Detected VIPT I-cache on CPU2
[    0.062918] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.074921] Detected VIPT I-cache on CPU3
[    0.075216] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.075695] smp: Brought up 1 node, 4 CPUs
[    0.076581] SMP: Total of 4 processors activated.
[    0.076748] CPU features: detected: 32-bit EL0 Support
[    0.076909] CPU features: detected: CRC32 instructions
[    0.078508] CPU: All CPU(s) started at EL2
[    0.078823] alternatives: patching kernel code
[    0.088818] devtmpfs: initialized
[    0.104818] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.105292] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.112380] pinctrl core: initialized pinctrl subsystem
[    0.118358] DMI not present or invalid.
[    0.119940] NET: Registered protocol family 16
[    0.125663] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.126221] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.126766] audit: initializing netlink subsys (disabled)
[    0.128436] audit: type=2000 audit(0.092:1): state=initialized audit_enabled=0 res=1
[    0.132383] cpuidle: using governor menu
[    0.133133] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.133996] ASID allocator initialised with 65536 entries
[    0.134868] Serial: AMBA PL011 UART driver
[    0.186858] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.187138] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.187393] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.187651] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    0.913908] cryptd: max_cpu_qlen set to 1000
[    0.982559] DRBG: Continuing without Jitter RNG
[    1.062709] raid6: neonx8   gen()  3460 MB/s
[    1.131395] raid6: neonx8   xor()  1384 MB/s
[    1.200064] raid6: neonx4   gen()  3517 MB/s
[    1.268610] raid6: neonx4   xor()  1430 MB/s
[    1.337222] raid6: neonx2   gen()  2440 MB/s
[    1.405873] raid6: neonx2   xor()  1164 MB/s
[    1.474572] raid6: neonx1   gen()  1409 MB/s
[    1.543232] raid6: neonx1   xor()   879 MB/s
[    1.611879] raid6: int64x8  gen()  2130 MB/s
[    1.680530] raid6: int64x8  xor()  1085 MB/s
[    1.749175] raid6: int64x4  gen()  2661 MB/s
[    1.817837] raid6: int64x4  xor()  1122 MB/s
[    1.886499] raid6: int64x2  gen()  2385 MB/s
[    1.955136] raid6: int64x2  xor()   771 MB/s
[    2.023799] raid6: int64x1  gen()  2134 MB/s
[    2.092362] raid6: int64x1  xor()  1281 MB/s
[    2.092485] raid6: using algorithm neonx4 gen() 3517 MB/s
[    2.092612] raid6: .... xor() 1430 MB/s, rmw enabled
[    2.092781] raid6: using neon recovery algorithm
[    2.094814] iommu: Default domain type: Translated
[    2.096056] SCSI subsystem initialized
[    2.097225] usbcore: registered new interface driver usbfs
[    2.097544] usbcore: registered new interface driver hub
[    2.097841] usbcore: registered new device driver usb
[    2.098223] mc: Linux media interface: v0.10
[    2.098382] videodev: Linux video capture interface: v2.00
[    2.098772] EDAC MC: Ver: 3.0.0
[    2.103571] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.
[    2.104857] FPGA manager framework
[    2.105759] Advanced Linux Sound Architecture Driver Initialized.
[    2.110610] Bluetooth: Core ver 2.22
[    2.110969] NET: Registered protocol family 31
[    2.111083] Bluetooth: HCI device and connection manager initialized
[    2.111369] Bluetooth: HCI socket layer initialized
[    2.111529] Bluetooth: L2CAP socket layer initialized
[    2.111799] Bluetooth: SCO socket layer initialized
[    2.114316] clocksource: Switched to clocksource arch_sys_counter
[    2.115196] VFS: Disk quotas dquot_6.6.0
[    2.115451] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.135193] NET: Registered protocol family 2
[    2.141560] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    2.141931] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    2.142738] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[    2.143985] TCP: Hash tables configured (established 32768 bind 32768)
[    2.145392] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    2.145798] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    2.147569] NET: Registered protocol family 1
[    2.150532] RPC: Registered named UNIX socket transport module.
[    2.150741] RPC: Registered udp transport module.
[    2.150874] RPC: Registered tcp transport module.
[    2.151026] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    2.153037] PCI: CLS 0 bytes, default 64
[    2.155966] Trying to unpack rootfs image as initramfs...
[    2.414073] Freeing initrd memory: 4992K
[    2.555175] Initialise system trusted keyrings
[    2.556269] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    2.559825] NFS: Registering the id_resolver key type
[    2.560053] Key type id_resolver registered
[    2.560160] Key type id_legacy registered
[    2.560474] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    2.560915] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    2.578081] NET: Registered protocol family 38
[    2.578484] xor: measuring software checksum speed
[    2.583246]    8regs           :  2462 MB/sec
[    2.588043]    32regs          :  2234 MB/sec
[    2.593474]    arm64_neon      :  1953 MB/sec
[    2.593653] xor: using function: 8regs (2462 MB/sec)
[    2.593831] Key type asymmetric registered
[    2.594024] Asymmetric key parser 'x509' registered
[    2.594477] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    2.594839] io scheduler mq-deadline registered
[    2.595031] io scheduler kyber registered
[    2.603367] ps_pcie_dma init()
[    2.690352] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    2.694336] Serial: AMBA driver
[    2.717461] brd: module loaded
[    2.730015] loop: module loaded
[    2.732194] mtdoops: mtd device (mtddev=name/number) must be supplied
[    2.736062] libphy: Fixed MDIO Bus: probed
[    2.737967] tun: Universal TUN/TAP device driver, 1.6
[    2.738651] CAN device driver interface
[    2.740000] usbcore: registered new interface driver asix
[    2.740227] usbcore: registered new interface driver ax88179_178a
[    2.740416] usbcore: registered new interface driver cdc_ether
[    2.740581] usbcore: registered new interface driver net1080
[    2.740746] usbcore: registered new interface driver cdc_subset
[    2.740915] usbcore: registered new interface driver zaurus
[    2.741131] usbcore: registered new interface driver cdc_ncm
[    2.743452] usbcore: registered new interface driver uas
[    2.743704] usbcore: registered new interface driver usb-storage
[    2.747925] rtc_zynqmp ffa60000.rtc: registered as rtc0
[    2.748540] rtc_zynqmp ffa60000.rtc: setting system clock to 2022-03-28T19:24:07 UTC (1648495447)
[    2.748869] i2c /dev entries driver
[    2.751915] usbcore: registered new interface driver uvcvideo
[    2.752054] USB Video Class driver (1.1.1)
[    2.755140] Bluetooth: HCI UART driver ver 2.3
[    2.755321] Bluetooth: HCI UART protocol H4 registered
[    2.755537] Bluetooth: HCI UART protocol BCSP registered
[    2.755858] Bluetooth: HCI UART protocol LL registered
[    2.756145] Bluetooth: HCI UART protocol ATH3K registered
[    2.756496] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    2.756953] Bluetooth: HCI UART protocol Intel registered
[    2.757247] Bluetooth: HCI UART protocol QCA registered
[    2.757615] usbcore: registered new interface driver bcm203x
[    2.757957] usbcore: registered new interface driver bpa10x
[    2.758369] usbcore: registered new interface driver bfusb
[    2.758722] usbcore: registered new interface driver btusb
[    2.759146] usbcore: registered new interface driver ath3k
[    2.759828] EDAC MC: ECC not enabled
[    2.760380] EDAC ZynqMP-OCM: ECC not enabled - Disabling EDAC driver
[    2.762981] sdhci: Secure Digital Host Controller Interface driver
[    2.763207] sdhci: Copyright(c) Pierre Ossman
[    2.763385] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.765437] ledtrig-cpu: registered to indicate activity on CPUs
[    2.765809] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    2.766443] zynqmp_firmware_probe Platform Management API v1.1
[    2.766720] zynqmp_firmware_probe Trustzone version v1.0
[    2.810687] zynqmp-pinctrl firmware:zynqmp-firmware:pinctrl: zynqmp pinctrl initialized
[    2.938137] securefw securefw: securefw probed
[    2.939201] alg: No test for xilinx-zynqmp-aes (zynqmp-aes)
[    2.939466] zynqmp_aes firmware:zynqmp-firmware:zynqmp-aes: AES Successfully Registered
[    2.940282] alg: No test for xilinx-keccak-384 (zynqmp-keccak-384)
[    2.941114] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[    2.941782] usbcore: registered new interface driver usbhid
[    2.941921] usbhid: USB HID core driver
[    2.951291] ARM CCI_400_r1 PMU driver probed
[    2.953407] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    2.955256] usbcore: registered new interface driver snd-usb-audio
[    2.957599] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    2.963618] Initializing XFRM netlink socket
[    2.964109] NET: Registered protocol family 10
[    2.968408] Segment Routing with IPv6
[    2.970346] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.972268] NET: Registered protocol family 17
[    2.972575] NET: Registered protocol family 15
[    2.972985] can: controller area network core
[    2.973298] NET: Registered protocol family 29
[    2.973465] can: raw protocol
[    2.973608] can: broadcast manager protocol
[    2.973791] can: netlink gateway - max_hops=1
[    2.974550] Bluetooth: RFCOMM TTY layer initialized
[    2.975135] Bluetooth: RFCOMM socket layer initialized
[    2.975304] Bluetooth: RFCOMM ver 1.11
[    2.975461] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    2.975582] Bluetooth: BNEP filters: protocol multicast
[    2.975752] Bluetooth: BNEP socket layer initialized
[    2.975895] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    2.976080] Bluetooth: HIDP socket layer initialized
[    2.976941] 9pnet: Installing 9P2000 support
[    2.977189] Key type dns_resolver registered
[    2.977888] registered taskstats version 1
[    2.978018] Loading compiled-in X.509 certificates
[    2.982793] Btrfs loaded, crc32c=crc32c-generic
[    3.002502] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 56, base_baud = 2169921) is a xuartps
[    3.003616] printk: console [ttyPS0] enabled
[    3.003616] printk: console [ttyPS0] enabled
[    3.003934] printk: bootconsole [cdns0] disabled
[    3.003934] printk: bootconsole [cdns0] disabled
[    3.009090] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 57, base_baud = 2169921) is a xuartps
[    3.011186] of-fpga-region fpga-full: FPGA Region probed
[    3.020434] nwl-pcie fd0e0000.pcie: host bridge /axi/pcie@fd0e0000 ranges:
[    3.021087] nwl-pcie fd0e0000.pcie:      MEM 0x00e0000000..0x00efffffff -> 0x00e0000000
[    3.021395] nwl-pcie fd0e0000.pcie:      MEM 0x0600000000..0x07ffffffff -> 0x0600000000
[    3.022994] nwl-pcie fd0e0000.pcie: Link is UP
[    3.027633] nwl-pcie fd0e0000.pcie: PCI host bridge to bus 0000:00
[    3.028162] pci_bus 0000:00: root bus resource [bus 00-ff]
[    3.028379] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xefffffff]
[    3.028553] pci_bus 0000:00: root bus resource [mem 0x600000000-0x7ffffffff pref]
[    3.033899] xilinx-zynqmp-dma fd500000.dma: ZynqMP DMA driver Probe success
[    3.034719] xilinx-zynqmp-dma fd510000.dma: ZynqMP DMA driver Probe success
[    3.035296] xilinx-zynqmp-dma fd520000.dma: ZynqMP DMA driver Probe success
[    3.035880] xilinx-zynqmp-dma fd530000.dma: ZynqMP DMA driver Probe success
[    3.036458] xilinx-zynqmp-dma fd540000.dma: ZynqMP DMA driver Probe success
[    3.038525] xilinx-zynqmp-dma fd550000.dma: ZynqMP DMA driver Probe success
[    3.039201] xilinx-zynqmp-dma fd560000.dma: ZynqMP DMA driver Probe success
[    3.039833] xilinx-zynqmp-dma fd570000.dma: ZynqMP DMA driver Probe success
[    3.040984] xilinx-zynqmp-dma ffa80000.dma: ZynqMP DMA driver Probe success
[    3.041593] xilinx-zynqmp-dma ffa90000.dma: ZynqMP DMA driver Probe success
[    3.042326] xilinx-zynqmp-dma ffaa0000.dma: ZynqMP DMA driver Probe success
[    3.042912] xilinx-zynqmp-dma ffab0000.dma: ZynqMP DMA driver Probe success
[    3.043541] xilinx-zynqmp-dma ffac0000.dma: ZynqMP DMA driver Probe success
[    3.044110] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success
[    3.044727] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[    3.045287] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
[    3.047127] xilinx-zynqmp-dpdma fd4c0000.dma-controller: Xilinx DPDMA engine is probed
[    3.049815] ahci-ceva fd0c0000.ahci: supply ahci not found, using dummy regulator
[    3.050574] ahci-ceva fd0c0000.ahci: supply phy not found, using dummy regulator
[    3.056348] spi-nor spi0.0: found n25q512a, expected m25p80
[    3.062476] spi-nor spi0.0: trying to lock already unlocked area
[    3.062670] spi-nor spi0.0: n25q512a (131072 Kbytes)
[    3.063394] 3 fixed-partitions partitions found on MTD device spi0.0
[    3.063568] Creating 3 MTD partitions on "spi0.0":
[    3.063773] 0x000000000000-0x000001e00000 : "boot"
[    3.067291] 0x000001e00000-0x000001e40000 : "bootenv"
[    3.068823] 0x000001e40000-0x000004240000 : "kernel"
[    3.092930] macb ff0e0000.ethernet: Not enabling partial store and forward
[    3.095534] libphy: MACB_mii_bus: probed
[    3.100667] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x40070106 at 0xff0e0000 irq 39 (32:bb:fe:8e:ba:a8)
[    3.102532] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    3.103476] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[    3.104125] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[    3.104982] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[    3.131278] pca953x 0-0020: supply vcc not found, using dummy regulator
[    3.131878] pca953x 0-0020: using no AI
[    3.136158] pca953x 0-0021: supply vcc not found, using dummy regulator
[    3.136459] pca953x 0-0021: using no AI
[    3.153450] i2c i2c-0: Added multiplexed i2c bus 2
[    3.164744] i2c i2c-0: Added multiplexed i2c bus 3
[    3.171334] max20751 4-0072: Failed to identify chip capabilities
[    3.173414] max20751 4-0073: Failed to identify chip capabilities
[    3.173652] i2c i2c-0: Added multiplexed i2c bus 4
[    3.174533] i2c i2c-0: Added multiplexed i2c bus 5
[    3.174715] pca954x 0-0075: registered 4 multiplexed busses for I2C mux pca9544
[    3.175199] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 41
[    3.181786] at24 6-0054: supply vcc not found, using dummy regulator
[    3.184319] at24 6-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
[    3.184589] i2c i2c-1: Added multiplexed i2c bus 6
[    3.187519] si5341 7-0036: Chip: 0 Grade: 0 Rev: 0
[    3.187877] si5341 7-0036: Model '0' not supported
[    3.188278] si5341: probe of 7-0036 failed with error -22
[    3.188505] i2c i2c-1: Added multiplexed i2c bus 7
[    3.194260] si570 8-005d: registered, current frequency 300000000 Hz
[    3.194546] i2c i2c-1: Added multiplexed i2c bus 8
[    3.210265] si570 9-005d: registered, current frequency 148500000 Hz
[    3.210493] i2c i2c-1: Added multiplexed i2c bus 9
[    3.211224] si5324 10-0069: si5328 probed
[    3.266888] random: fast init done
[    3.279140] si5324 10-0069: si5328 probe successful
[    3.279397] i2c i2c-1: Added multiplexed i2c bus 10
[    3.279874] i2c i2c-1: Added multiplexed i2c bus 11
[    3.280316] i2c i2c-1: Added multiplexed i2c bus 12
[    3.280728] i2c i2c-1: Added multiplexed i2c bus 13
[    3.280862] pca954x 1-0074: registered 8 multiplexed busses for I2C switch pca9548
[    3.281824] i2c i2c-1: Added multiplexed i2c bus 14
[    3.282302] i2c i2c-1: Added multiplexed i2c bus 15
[    3.282756] i2c i2c-1: Added multiplexed i2c bus 16
[    3.283156] i2c i2c-1: Added multiplexed i2c bus 17
[    3.283544] i2c i2c-1: Added multiplexed i2c bus 18
[    3.283981] i2c i2c-1: Added multiplexed i2c bus 19
[    3.284393] i2c i2c-1: Added multiplexed i2c bus 20
[    3.284824] i2c i2c-1: Added multiplexed i2c bus 21
[    3.284943] pca954x 1-0075: registered 8 multiplexed busses for I2C switch pca9548
[    3.285215] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 42
[    3.293758] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
[    3.294957] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s
[    3.300684] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 277750 KHz, changing to: 299999 KHz
[    3.307171] ahci-ceva fd0c0000.ahci: supply ahci not found, using dummy regulator
[    3.307665] ahci-ceva fd0c0000.ahci: supply phy not found, using dummy regulator
[    3.340185] ahci-ceva fd0c0000.ahci: supply ahci not found, using dummy regulator
[    3.340552] ahci-ceva fd0c0000.ahci: supply phy not found, using dummy regulator
[    3.371052] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    3.372626] of_cfs_init
[    3.372932] of_cfs_init: OK
[    3.373402] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    3.376193] ahci-ceva fd0c0000.ahci: supply ahci not found, using dummy regulator
[    3.376581] ahci-ceva fd0c0000.ahci: supply phy not found, using dummy regulator
[    3.383424] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[    3.402904] ahci-ceva fd0c0000.ahci: supply ahci not found, using dummy regulator
[    3.403475] ahci-ceva fd0c0000.ahci: supply phy not found, using dummy regulator
[    3.423308] mmc0: Problem switching card into high-speed mode!
[    3.437268] mmc0: new SD card at address 4567
[    3.440569] mmcblk0: mmc0:4567 QEMU! 64.0 MiB
[    3.455138] ahci-ceva fd0c0000.ahci: supply ahci not found, using dummy regulator
[    3.455631] ahci-ceva fd0c0000.ahci: supply phy not found, using dummy regulator
[    3.494808] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    3.495351] clk: Not disabling unused clocks
[    3.517605] ALSA device list:
[    3.517773]   No soundcards found.
[    3.520956] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    3.521326] cfg80211: failed to load regulatory.db
[    3.542125] Freeing unused kernel memory: 2112K
[    3.575021] Run /init as init process
/dev/mmcblk0: recovering journal
/dev/mmcblk0: clean, 1619/16384 files, 47097/65536 blocks
[    3.964168] EXT4-fs (mmcblk0): mounted filesystem with ordered data mode. Opts: (null)
[    3.964873] ext4 filesystem being mounted at /rootfs supports timestamps until 2038 (0x7fffffff)
INIT: version 2.97 booting
Starting udev
[    4.628696] udevd[355]: starting version 3.2.9
[    4.641491] random: udevd: uninitialized urandom read (16 bytes read)
[    4.643963] random: udevd: uninitialized urandom read (16 bytes read)
[    4.644665] random: udevd: uninitialized urandom read (16 bytes read)
[    4.695498] udevd[356]: starting eudev-3.2.9
[    4.926333] zocl: loading out-of-tree module taints kernel.
[    4.937072] [drm] Probing for xlnx,zocl
[    4.938152] zocl-drm amba_pl@0:zyxclmm_drm: IRQ index 32 not found
[    4.939276] [drm] FPGA programming device pcap founded.
[    4.939551] [drm] PR Isolation addr 0x0
[    4.942515] [drm] Initialized zocl 0.0.0 00000 for amba_pl@0:zyxclmm_drm on minor 0
[    4.947213] ahci-ceva fd0c0000.ahci: supply ahci not found, using dummy regulator
[    4.947833] ahci-ceva fd0c0000.ahci: supply phy not found, using dummy regulator
[    6.549056] EXT4-fs (mmcblk0): re-mounted. Opts: (null)
[    6.549317] ext4 filesystem being remounted at / supports timestamps until 2038 (0x7fffffff)
INIT: Entering runlevel: 5
Configuring network interfaces... [    7.702798] macb ff0e0000.ethernet eth0: PHY [ff0e0000.ethernet-ffffffff:0c] driver [Marvell 88E1118] (irq=POLL)
[    7.703440] macb ff0e0000.ethernet eth0: configuring for phy/rgmii-id link mode
udhcpc: started, v1.32.0
[    7.775587] macb ff0e0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control tx
[    7.776446] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
udhcpc: sending discover
udhcpc: sending select for 10.0.2.15
udhcpc: lease of 10.0.2.15 obtained, lease time 86400
/etc/udhcpc.d/50default: Adding DNS 10.0.2.3
done.
Starting haveged: haveged: command socket is listening at fd 3
haveged: haveged starting up

Starting Dropbear SSH server: dropbear.
Starting internet superserver: inetd.
Starting syslogd/klogd: done
Starting tcf-agent: [    9.149273] random: crng init done
[    9.149421] random: 7 urandom warning(s) missed due to ratelimiting
OK

root@xilinx-zcu102-2021_2:~#

If petalinux 20.02 runs I think it is because the kernel (or kernel dtb) is not configured to use above driver (the kernel driver tries to access a model of the interrupt controller at above position).

I thought more about this and decided to check the device tree and I think you are right, if I make the change to remove the following: https://github.com/Xilinx/qemu-devicetrees/blob/0499324af1178057c3730b0989c8fb5c5bbc4cf8/zynqmp-pl-remoteport.dtsi#L41-L46 It works without any modification, I think I was using an older version of the qemu-device tree and assumed nothing had changed. Thanks for the pointer! How can we highlight / fix this for anyone who stumbles across this?

Thank you for your time!