Kernel panic on boot with zc702 fmcomms5 reference design. Possibly caused by axi_sysid which exists in device tree but not in HDL design.

When I boot the Linux design build using Petalinux 2018.3 with these instructions, I get a kernel panic. It looks like it happens when it probes the address space of axi_sysid, which exists in the device tree but not in the HDL design. It looks like there was a recent commit (here) that may have added axi_sysid to the device tree but no corresponding commit to the HDL design.

Assuming I haven't made any mistakes in my setup and config (in which case please tell me), how can I fix this? Modifying system-user.dtsi doesn't seem to change anything.

Here are the boot messages:

53709484 bytes read in 2922 ms (17.5 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf@system-top.dtb' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel@1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x100000e0
     Data Size:    4501027 Bytes = 4.3 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00008000
     Entry Point:  0x00008000
     Hash algo:    sha1
     Hash value:   7d67c95fbbe9d071aefa215be9faf4d5b7fbd2b1
   Verifying Hash Integrity ... sha1+ OK
## Loading ramdisk from FIT Image at 10000000 ...
   Using 'conf@system-top.dtb' configuration
   Trying 'ramdisk@1' ramdisk subimage
     Description:  petalinux-user-image
     Type:         RAMDisk Image
     Compression:  gzip compressed
     Data Start:   0x10451978
     Data Size:    49179557 Bytes = 46.9 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    sha1
     Hash value:   35251b659e9f71062ecafe216f62dc984827cb16
   Verifying Hash Integrity ... sha1+ OK
## Loading fdt from FIT Image at 10000000 ...
   Using 'conf@system-top.dtb' configuration
   Trying 'fdt@system-top.dtb' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x1044b004
     Data Size:    26804 Bytes = 26.2 KiB
     Architecture: ARM
     Hash algo:    sha1
     Hash value:   b40862d221180cb71abe7a2f5215f08d39b7b74c
   Verifying Hash Integrity ... sha1+ OK
   Booting using the fdt blob at 0x1044b004
   Uncompressing Kernel Image ... OK
   Loading Ramdisk to 05119000, end 07fffba5 ... OK
   Loading Device Tree to 0510f000, end 051188b3 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.14.0-xilinx-v2018.3 (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 SMP PREEMPT Fri Aug 16 13:00:56 UTC 2019
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: Xilinx Zynq ZC702
bootconsole [earlycon0] enabled
Memory policy: Data cache writealloc
cma: Reserved 128 MiB at 0x38000000
random: fast init done
percpu: Embedded 16 pages/cpu @ef7c6000 s32972 r8192 d24372 u65536
Built 1 zonelists, mobility grouping on.  Total pages: 260608
Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 848984K/1048576K available (6144K kernel code, 333K rwdata, 2576K rodata, 1024K init, 153K bss, 68520K reserved, 131072K cma-reserved, 131072K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc0700000   (7136 kB)
      .init : 0xc0a00000 - 0xc0b00000   (1024 kB)
      .data : 0xc0b00000 - 0xc0b53600   ( 334 kB)
       .bss : 0xc0b58b74 - 0xc0b7f1d4   ( 154 kB)
Preemptible hierarchical RCU implementation.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
        Tasks RCU enabled.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
efuse mapped to f0802000
slcr mapped to f0804000
L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 1 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 8 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
zynq_clock_init: clkc starts at f0804100
Zynq clock init
sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
Switching to timer-based delay loop, resolution 3ns
clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
timer #0 at f080c000, irq=17
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x100000 - 0x100060
Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
smp: Brought up 1 node, 2 CPUs
SMP: Total of 2 processors activated (1333.33 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 512 (order: 3, 32768 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xf0880000
zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
xuartps e0000000.serial: No serial alias passed. Using the first free id
xuartps e0000000.serial: Checking id 0
e0000000.serial: ttyPS1 at MMIO 0xe0000000 (irq = 26, base_baud = 3125000) is a xuartps
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 27, base_baud = 3125000) is a xuartps
`▒▒k▒▒▒▒[ttyPS0] enabled
console [ttyPS0] enabled
bootconsole [earlycon0] disabled
bootconsole [earlycon0] disabled
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
media: Linux media interface: v0.10
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
FPGA manager framework
Advanced Linux Sound Architecture Driver Initialized.
clocksource: Switched to clocksource arm_global_timer
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 48028K
hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
workingset: timestamp_bits=30 max_order=18 bucket_order=0
bounce: pool size: 64 pages
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
io scheduler mq-deadline registered
io scheduler kyber registered
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
dma-pl330 f8003000.dmac:        DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
brd: module loaded
loop: module loaded
spi_master spi2: /amba/spi@e000d000/ps7-qspi@0 has no valid 'spi-max-frequency' property (-22)
spi_master spi2: Failed to create SPI device for /amba/spi@e000d000/ps7-qspi@0
MACsec IEEE 802.1AE
libphy: Fixed MDIO Bus: probed
tun: Universal TUN/TAP device driver, 1.6
libphy: MACB_mii_bus: probed
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 31 (00:0a:35:00:1e:53)
Marvell 88E1116R e000b000.ethernet-ffffffff:07: attached PHY driver [Marvell 88E1116R] (mii_bus:phy_addr=e000b000.ethernet-ffffffff:07, irq=POLL)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ftdi_sio
usbserial: USB Serial support registered for FTDI USB Serial Device
chipidea-usb2 e0002000.usb: e0002000.usb supply vbus not found, using dummy regulator
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
i2c /dev entries driver
cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 23
i2c i2c-1: Added multiplexed i2c bus 2
adv7511 3-0039: 3-0039 supply avdd not found, using dummy regulator
adv7511 3-0039: 3-0039 supply dvdd not found, using dummy regulator
adv7511 3-0039: 3-0039 supply pvdd not found, using dummy regulator
adv7511 3-0039: 3-0039 supply bgvdd not found, using dummy regulator
adv7511 3-0039: 3-0039 supply dvdd-3v not found, using dummy regulator
i2c i2c-1: Added multiplexed i2c bus 3
i2c i2c-1: Added multiplexed i2c bus 4
i2c i2c-1: Added multiplexed i2c bus 5
rtc-pcf8563 6-0051: rtc core: registered rtc-pcf8563 as rtc0
i2c i2c-1: Added multiplexed i2c bus 6
at24 7-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
i2c i2c-1: Added multiplexed i2c bus 7
i2c i2c-1: Added multiplexed i2c bus 8
i2c i2c-1: Added multiplexed i2c bus 9
pca954x 1-0074: registered 8 multiplexed busses for I2C switch pca9548
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)
gspca_main: v2.14.0 registered
cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer at f090e000 with timeout 10s
Xilinx Zynq CpuIdle Driver started
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
ledtrig-cpu: registered to indicate activity on CPUs
hidraw: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
ad9361 spi0.0: ad9361_probe : enter (ad9361-2x)
mmc0: new high speed SDHC card at address aaaa
mmcblk0: mmc0:aaaa SS08G 7.40 GiB
 mmcblk0: p1
ad9361 spi0.0: ad9361_probe : AD936x Rev 2 successfully initialized
ad9361 spi0.1: ad9361_probe : enter (ad9361)
ad9361 spi0.1: ad9361_probe : AD936x Rev 2 successfully initialized
cf_axi_dds 79024000.cf-ad9361-dds-core-lpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.01.b) at 0x79024000 mapped to 0xf09c1000, probed DDS AD9361
cf_axi_dds 79044000.cf-ad9361-dds-core-B: Analog Devices CF_AXI_DDS_DDS SLAVE (9.01.b) at 0x79044000 mapped to 0xf09c5000, probed DDS AD9361
Unhandled fault: imprecise external abort (0x406) at 0x000cb0ec
pgd = c0004000
[000cb0ec] *pgd=00000000
Internal error: : 406 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.14.0-xilinx-v2018.3 #1
Hardware name: Xilinx Zynq Platform
task: ef03f840 task.stack: ef040000
PC is at axi_sysid_probe+0x7c/0x324
LR is at devm_ioremap+0x58/0x78
pc : [<c05e6f60>]    lr : [<c030a22c>]    psr: 800b0013
sp : ef041e18  ip : 00000000  fp : 00000000
r10: 00000000  r9 : 00000000  r8 : ef181600
r7 : ef181610  r6 : c7c7b550  r5 : ffffffed  r4 : c07f6b80
r3 : c07f6d08  r2 : 00000000  r1 : dec0de1c  r0 : f09d0000
Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 18c5387d  Table: 07c5004a  DAC: 00000051
Process swapper/0 (pid: 1, stack limit = 0xef040210)
Stack: (0xef041e18 to 0xef042000)
1e00:                                                       ecddeec8 00000000
1e20: 00000000 c093f24c 00000000 c024e890 c093f24c 00000000 00000001 00000000
1e40: ef183d68 ecddef78 00000000 ef183d68 c093f24c ecddeec8 00000001 ef181610
1e60: c0b77f60 ef181610 ffffffed c0b491ac fffffdfb 00000000 00000000 c03afaa4
1e80: ef181610 c0b77f60 c0b77f64 c0b491ac 00000000 c03ae2bc ef181610 c0b491ac
1ea0: ef181644 00000000 00000007 000000c5 c0a3b3e0 c03ae410 00000000 c0b491ac
1ec0: c03ae36c c03ac810 ef075f58 ef1786b4 c0b491ac ecee3a80 c0b18100 c03ad818
1ee0: c0937478 00000000 c0a217e4 c0b491ac 00000000 c0a217e4 c0a3083c c03aecb8
1f00: ffffe000 00000000 c0a217e4 c0101a20 efffce09 efffcdf9 c0983400 000000c5
1f20: 000000c5 c0138654 00000000 c08f1e98 00000006 00000006 c08b906c 00000000
1f40: c08c23d0 c08b90e0 efffce09 00000000 00000000 c0b58b80 c0b58b80 c0b58b80
1f60: c0a30834 00000007 000000c5 c0a3b3e0 00000000 c0a00db8 00000006 00000006
1f80: 00000000 c0a005a8 00000000 c06e60d8 00000000 00000000 00000000 00000000
1fa0: 00000000 c06e60e0 00000000 c0107b90 00000000 00000000 00000000 00000000
1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 88044aec 981a031c
[<c05e6f60>] (axi_sysid_probe) from [<c03afaa4>] (platform_drv_probe+0x50/0xac)
[<c03afaa4>] (platform_drv_probe) from [<c03ae2bc>] (driver_probe_device+0x238/0x2e8)
[<c03ae2bc>] (driver_probe_device) from [<c03ae410>] (__driver_attach+0xa4/0xa8)
[<c03ae410>] (__driver_attach) from [<c03ac810>] (bus_for_each_dev+0x4c/0x9c)
[<c03ac810>] (bus_for_each_dev) from [<c03ad818>] (bus_add_driver+0x188/0x20c)
[<c03ad818>] (bus_add_driver) from [<c03aecb8>] (driver_register+0x78/0xf4)
[<c03aecb8>] (driver_register) from [<c0101a20>] (do_one_initcall+0x44/0x168)
[<c0101a20>] (do_one_initcall) from [<c0a00db8>] (kernel_init_freeable+0x144/0x1d0)
[<c0a00db8>] (kernel_init_freeable) from [<c06e60e0>] (kernel_init+0x8/0x110)
[<c06e60e0>] (kernel_init) from [<c0107b90>] (ret_from_fork+0x14/0x24)
Code: e59430c0 e5863004 e5901000 f57ff04f (e5963004)
---[ end trace 47269855a1c323fa ]---
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

CPU0: stopping
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G      D         4.14.0-xilinx-v2018.3 #1
Hardware name: Xilinx Zynq Platform
[<c010ef54>] (unwind_backtrace) from [<c010b844>] (show_stack+0x10/0x14)
[<c010b844>] (show_stack) from [<c06d25c0>] (dump_stack+0x8c/0xa0)
[<c06d25c0>] (dump_stack) from [<c010d670>] (ipi_cpu_stop+0x64/0x74)
[<c010d670>] (ipi_cpu_stop) from [<c010ddac>] (handle_IPI+0x6c/0x7c)
[<c010ddac>] (handle_IPI) from [<c010145c>] (gic_handle_irq+0x8c/0x90)
[<c010145c>] (gic_handle_irq) from [<c010c38c>] (__irq_svc+0x6c/0xa8)
Exception stack(0xc0b01f20 to 0xc0b01f68)
1f20: 00000000 00000001 2ed8a000 ef7cd680 aa2fe4a9 00000001 ef7cca50 00000001
1f40: aa613503 00000001 00000000 000000a0 00600000 c0b01f70 c04e0e70 c04e0e74
1f60: 80000113 ffffffff
[<c010c38c>] (__irq_svc) from [<c04e0e74>] (cpuidle_enter_state+0x178/0x2ac)
[<c04e0e74>] (cpuidle_enter_state) from [<c0150d20>] (do_idle+0x1a8/0x1f8)
[<c0150d20>] (do_idle) from [<c0151018>] (cpu_startup_entry+0x18/0x1c)
[<c0151018>] (cpu_startup_entry) from [<c0a00c68>] (start_kernel+0x394/0x3a0)
[<c0a00c68>] (start_kernel) from [<0000807c>] (0x807c)
---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b