As a workaround, I'm passing kernel parameter 'initcall_blacklist=init_hw_perf_events' to disable the Zhaoxin PMU driver. The system boots without panic. Differences in the boot log:
[ 0.000000] Linux version 5.10.0-4-amd64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.19-1 (2021-03-02) [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.10.0-4-amd64 root=UUID=b67d3756-ab82-433c-bf15-babec8b88979 ro single initcall_blacklist=init_hw_perf_events console=tty0 console=ttyS0,115200 ... [ 0.901032] Freeing SMP alternatives memory: 32K [ 1.018469] smpboot: CPU0: Centaur VIA Nano processor L2200@1600MHz (family: 0x6, model: 0xf, stepping: 0x2) [ 1.021040] rcu: Hierarchical SRCU implementation. [ 1.029009] NMI watchdog: Perf NMI watchdog permanently disabled ... Without the parameter, the kernel logs the following (copied from the attached boot log in my previous message): [ 0.000000] Linux version 5.10.0-4-amd64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.19-1 (2021-03-02) [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.10.0-4-amd64 root=UUID=b67d3756-ab82-433c-bf15-babec8b88979 ro single console=tty0 console=ttyS0,115200 ... [ 0.892088] Freeing SMP alternatives memory: 32K [ 1.009527] smpboot: CPU0: Centaur VIA Nano processor L2200@1600MHz (family: 0x6, model: 0xf, stepping: 0x2) [ 1.011855] Performance Events: [ 1.011858] core: Welcome to zhaoxin pmu! [ 1.019298] core: Version check pass! [ 1.023297] ZXC events, zhaoxin PMU driver. [ 1.027299] ... version: 2 [ 1.031297] ... bit width: 40 [ 1.035297] ... generic registers: 3 [ 1.039297] ... value mask: 000000ffffffffff [ 1.043297] ... max period: 0000007fffffffff [ 1.047297] ... fixed-purpose events: 3 [ 1.051297] ... event mask: 0000000700000007 [ 1.055663] rcu: Hierarchical SRCU implementation. [ 1.063822] NMI watchdog: Enabled. Permanently consumes one hw-PMU counter. ...