描述
In the 2020.x and 2021.1 Linux releases, the MicroBlaze kernel boot panics when the "Enable Write-back Storage Policy" option is enabled in a design.
U-Boot 2020.01 (Mar 24 2020 - 01:36:54 +0000)
Model: Xilinx MicroBlaze
DRAM: 2 GiB
WDT: Not found!
Loading Environment from SPI Flash... SF: Detected n25q00a with page size 256 Bytes, erase size 4 KiB, total 128 MiB
Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Model: Xilinx MicroBlaze
Net: AXI EMAC: 40c00000, phyaddr 3, interface sgmii
eth0: ethernet@40c00000
U-BOOT for xilinx-vcu118-2020_1
ethernet@40c00000 Waiting for PHY auto negotiation to complete.. done
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
BOOTP broadcast 6
BOOTP broadcast 7
BOOTP broadcast 8
BOOTP broadcast 9
BOOTP broadcast 10
BOOTP broadcast 11
BOOTP broadcast 12
BOOTP broadcast 13
BOOTP broadcast 14
BOOTP broadcast 15
BOOTP broadcast 16
BOOTP broadcast 17
Retry time exceeded; starting again
Hit any key to stop autoboot: 0
Booting kernel from Legacy Image at 80000000 ...
Image Name: Linux-5.4.0-xilinx-v2020.1
Image Type: MicroBlaze Linux Kernel Image (uncompressed)
Data Size: 12583428 Bytes = 12 MiB
Load Address: 80000000
Entry Point: 80000000
Verifying Checksum ... OK
Loading init Ramdisk from Legacy Image at 82e00000 ...
Image Name: petalinux-image-minimal-microbla
Image Type: MicroBlaze Linux RAMDisk Image (uncompressed)
Data Size: 7852551 Bytes = 7.5 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Flattened Device Tree blob at 81e00000
Booting using the fdt blob at 0x81e00000
Loading Kernel Image
Loading Ramdisk to af882000, end affff207 ... OK
Loading Device Tree to af87b000, end af881d6c ... OK
Starting kernel ...
Ramdisk addr 0xaf882000,
FDT at 0xaf87b000
earlycon: uartlite_a0 at MMIO 0x40600000 (options '115200n8')
printk: bootconsole [uartlite_a0] enabled
cma: Reserved 16 MiB at 0xae800000
Linux version 5.4.0-xilinx-v2020.1 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 Tue Mar 24 01:36:48 UTC 2020
setup_memory: max_mapnr: 0x7ffff
setup_memory: min_low_pfn: 0x80000
setup_memory: max_low_pfn: 0xb0000
setup_memory: max_pfn: 0xfffff
Zone ranges:
DMA [mem 0x0000000080000000-0x00000000afffffff]
Normal empty
HighMem [mem 0x00000000b0000000-0x00000000ffffefff]
Movable zone start for each node
Early memory node ranges
node 0: [mem 0x0000000080000000-0x00000000ffffefff]
Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffefff]
setup_cpuinfo: initialising cpu 0
setup_cpuinfo: Using full CPU PVR support
wb_msr
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists, mobility grouping on. Total pages: 522751
Kernel command line: console=ttyUL0,115200 earlycon root=/dev/ram0 rw
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
mem auto-init: stack:off, heap alloc:off, heap free:off
Memory: 2047316K/2097148K available (5293K kernel code, 163K rwdata, 1524K rodata, 165K init, 558K bss, 33448K reserved, 16384K cma-reserved, 1310716K highmem)
Kernel virtual memory layout:
0xfffea000..0xfffff000 : fixmap
0xff800000..0xffc00000 : highmem PTEs
0xff7ff000..0xff800000 : early ioremap
0xf0000000..0xff7ff000 : vmalloc & ioremap
NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
xilinx_intc_of_init: /amba_pl/interrupt-controller@41200000: cpu_id not found
irq-xilinx: /amba_pl/interrupt-controller@41200000: num_irq=8, sw_irq=0, edge=0x1a
xilinx_timer_init: Timer base: 0xf0020000, Clocksource base: 0xf0020010
clocksource: xilinx_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns
sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 21474836475ns
/amba_pl/timer@41c00000: irq=1, cpu_id 0
xilinx_timer_shutdown
xilinx_timer_set_periodic
Calibrating delay loop... 49.56 BogoMIPS (lpj=247808)
pid_max: default: 4096 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
devtmpfs: initialized
random: get_random_u32 called from bucket_table_alloc.isra.0+0x70/0x218 with crng_init=0
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 16 (order: -4, 448 bytes, linear)
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic allocations
audit: initializing netlink subsys (disabled)
PCI: Probing PCI hardware
audit: type=2000 audit(0.260:1): state=initialized audit_enabled=0 res=1
GPIO IRQ not connected
XGpio: gpio@40000000: registered, base is 508
GPIO IRQ not connected
XGpio: gpio@40000000: dual channel registered, base is 500
GPIO IRQ not connected
XGpio: gpio@40010000: registered, base is 495
vgaarb: loaded
clocksource: Switched to clocksource xilinx_clocksource
NET: Registered protocol family 2
tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 12288 bytes, linear)
TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
TCP bind hash table entries: 8192 (order: 5, 163840 bytes, linear)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 24576 bytes, linear)
UDP-Lite hash table entries: 512 (order: 2, 24576 bytes, linear)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 0 bytes, default 32
Trying to unpack rootfs image as initramfs...
random: fast init done
Freeing initrd memory: 7668K
workingset: timestamp_bits=30 max_order=19 bucket_order=0
Key type cifs.idmap registered
romfs: ROMFS MTD (C) 2007 Red Hat, Inc.
bounce: pool size: 64 pages
io scheduler mq-deadline registered
io scheduler kyber registered
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
40600000.serial: ttyUL0 at MMIO 0x40600000 (irq = 8, base_baud = 0) is a uartlite
printk: console [ttyUL0] enabled
printk: console [ttyUL0] enabled
printk: bootconsole [uartlite_a0] disabled
printk: bootconsole [uartlite_a0] disabled
brd: module loaded
loop: module loaded
spi-nor spi0.0: n25q00a (131072 Kbytes)
4 fixed-partitions partitions found on MTD device spi0.0
Creating 4 MTD partitions on "spi0.0":
0x000000000000-0x000001b00000 : "fpga"
0x000001b00000-0x000001b80000 : "boot"
0x000001b80000-0x000001ba0000 : "bootenv"
0x000001ba0000-0x0000027a0000 : "kernel"
libphy: Fixed MDIO Bus: probed
xilinx_axienet 40c00000.ethernet: TX_CSUM 0
xilinx_axienet 40c00000.ethernet: RX_CSUM 0
xilinx_axienet 40c00000.ethernet: Failed to get clock: -2
xilinx_axienet 40c00000.ethernet (unnamed net_device) (uninitialized): Setting assumed host clock to 100000000
libphy: Xilinx Axi Ethernet MDIO: probed
i2c /dev entries driver
i2c i2c-0: Added multiplexed i2c bus 1
i2c i2c-0: Added multiplexed i2c bus 2
i2c i2c-0: Added multiplexed i2c bus 3
at24 4-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 4
i2c i2c-0: Added multiplexed i2c bus 5
i2c i2c-0: Added multiplexed i2c bus 6
i2c i2c-0: Added multiplexed i2c bus 7
i2c i2c-0: Added multiplexed i2c bus 8
pca954x 0-0075: registered 8 multiplexed busses for I2C switch pca9548
si570 9-005d: registered, current frequency 148500000 Hz
i2c i2c-0: Added multiplexed i2c bus 9
i2c i2c-0: Added multiplexed i2c bus 10
i2c i2c-0: Added multiplexed i2c bus 11
i2c i2c-0: Added multiplexed i2c bus 12
i2c i2c-0: Added multiplexed i2c bus 13
i2c i2c-0: Added multiplexed i2c bus 14
i2c i2c-0: Added multiplexed i2c bus 15
i2c i2c-0: Added multiplexed i2c bus 16
pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548
NET: Registered protocol family 17
Key type encrypted registered
Freeing unused kernel memory: 164K
This architecture does not have kernel memory protection.
Run /init as init process
INIT: version 2.88 booting
*Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
--[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004 ]--*