With ACPI enabled, RISC-V F45 server image boot freezes #35

Open
opened 2026-09-24 12:31:44 +00:00 by kashyapc · 2 comments
Owner

Description

With ACPI enabled, F45 server (and probably other images too) fails to boot with a kernel panic. We're not sure if it QEMU, or EDK2, or the kernel:

[...]
[    0.000000] efi: SMBIOS 3.0=0x17ff43000 MEMATTR=0x17f01a018 ACPI=0xfffff000 ACPI 2.0=0xfffff014 MOKvar=0x17ff33000 INITRD=0x17f690398 RNG=0x17f012018 MEMRESERVE=0x17f01ed18
[    0.000000] random: crng init done
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x00000000FFFFF014 000024 (v02 BOCHS )
[    0.000000] ACPI: XSDT 0x00000000FFFFE0E8 00004C (v01 BOCHS  BXPC     00000001      01000013)
[    0.000000] ACPI: FACP 0x00000000FFFFC000 000114 (v06 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: DSDT 0x00000000FFFFD000 000EB2 (v02 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: APIC 0x00000000FFFFB000 0000E0 (v07 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: RHCT 0x00000000FFFFA000 0003D6 (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: SPCR 0x00000000FFFF9000 00005A (v04 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: MCFG 0x00000000FFFF8000 00003C (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: SPCR: console: uart,mmio,0x10000000,115200
[    0.000000] earlycon: uart0 at MMIO 0x0000000010000000 (options '115200')
[    0.000000] printk: legacy bootconsole [uart0] enabled
[    0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x000000017fffffff]
[    0.000000] NODE_DATA(0) allocated [mem 0x17fc31600-0x17fc33fff]
[    0.000000] SBI HSM extension detected
[    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000068
[    0.000000] Current swapper pgtable: 4K pagesize, 57-bit VAs, pgdp=0x000000009fecb000
[    0.000000] [0000000000000068] pgd=0000000000000000
[    0.000000] Oops [#1]
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 7.2.7-300.0.riscv64.omni.fc45.riscv64 #1 PREEMPT(undef)
[    0.000000] epc : of_n_addr_cells+0x10/0x48
[    0.000000]  ra : riscv_init_memory_alias+0x42/0x2e8
[    0.000000] epc : ffffffff919e9da0 ra : ffffffff91e09ce2 sp : ffffffff93e03dd0
[    0.000000]  gp : ffffffff94292900 tp : ffffffff93e12dc0 t0 : 000000000000001e
[    0.000000]  t1 : 0000000000000002 t2 : ff1bfffffea793d6 s0 : ffffffff93e03de0
[    0.000000]  s1 : ffffffff9464c678 a0 : 0000000000000000 a1 : ffffffff92c9fd48
[    0.000000]  a2 : ffffffff92c9fce8 a3 : 0000000000000008 a4 : 0000000000000000
[    0.000000]  a5 : 0000000000000000 a6 : 0000000000000006 a7 : ffffffff93e12dc0
[    0.000000]  s2 : ffffffff944cc000 s3 : 000000017f01a6c0 s4 : fffffffffffffff3
[    0.000000]  s5 : 000000009c400000 s6 : 000000017f690998 s7 : 000000017edb2d30
[    0.000000]  s8 : 000000017edb2d38 s9 : 000000017edb2d40 s10: 0000000000000000
[    0.000000]  s11: 0000000000000000 t3 : ffffffff9458edc0 t4 : 0000000000000030
[    0.000000]  t5 : ffffffff9458ed90 t6 : ffffffff940d90a4 ssp : 0000000000000000
[    0.000000] status: 0000000200000100 badaddr: 0000000000000068 cause: 000000000000000d
[    0.000000] [<ffffffff919e9da0>] of_n_addr_cells+0x10/0x48
[    0.000000] [<ffffffff91e09ce2>] riscv_init_memory_alias+0x42/0x2e8
[    0.000000] [<ffffffff91e06022>] setup_arch+0x132/0x218
[    0.000000] [<ffffffff91e0153e>] start_kernel+0x7e/0x6b0
[    0.000000] Code: 0001 0001 0001 0001 0001 0001 1141 e022 e406 0800 (753c) cb91
[    0.000000] ---[ end trace 0000000000000000 ]---
[    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---

Reproducer:

(1) Get the image from here and unpack it: https://riscv-koji.fedoraproject.org/koji/buildinfo?buildID=133357

(2) Import it into libvirt:

virt-install \
    --import \
    --name f45-omni-take2 \
    --osinfo fedora-rawhide \
    --arch riscv64 \
    --cpu mode=maximum \
    --vcpus 4 \
    --ram 4096 \
    --boot uefi \
    --disk path=/var/lib/libvirt/images/Fedora-Server-Host-Omni-45-20260923.1.riscv64.raw\
    --network default \
    --tpm none \
    --graphics none \
    --controller scsi,model=virtio-scsi \
    --features acpi=on
### Description With ACPI enabled, F45 server (and probably other images too) fails to boot with a kernel panic. We're not sure if it QEMU, or EDK2, or the kernel: ``` [...] [ 0.000000] efi: SMBIOS 3.0=0x17ff43000 MEMATTR=0x17f01a018 ACPI=0xfffff000 ACPI 2.0=0xfffff014 MOKvar=0x17ff33000 INITRD=0x17f690398 RNG=0x17f012018 MEMRESERVE=0x17f01ed18 [ 0.000000] random: crng init done [ 0.000000] ACPI: Early table checksum verification disabled [ 0.000000] ACPI: RSDP 0x00000000FFFFF014 000024 (v02 BOCHS ) [ 0.000000] ACPI: XSDT 0x00000000FFFFE0E8 00004C (v01 BOCHS BXPC 00000001 01000013) [ 0.000000] ACPI: FACP 0x00000000FFFFC000 000114 (v06 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: DSDT 0x00000000FFFFD000 000EB2 (v02 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: APIC 0x00000000FFFFB000 0000E0 (v07 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: RHCT 0x00000000FFFFA000 0003D6 (v01 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: SPCR 0x00000000FFFF9000 00005A (v04 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: MCFG 0x00000000FFFF8000 00003C (v01 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: SPCR: console: uart,mmio,0x10000000,115200 [ 0.000000] earlycon: uart0 at MMIO 0x0000000010000000 (options '115200') [ 0.000000] printk: legacy bootconsole [uart0] enabled [ 0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x000000017fffffff] [ 0.000000] NODE_DATA(0) allocated [mem 0x17fc31600-0x17fc33fff] [ 0.000000] SBI HSM extension detected [ 0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000068 [ 0.000000] Current swapper pgtable: 4K pagesize, 57-bit VAs, pgdp=0x000000009fecb000 [ 0.000000] [0000000000000068] pgd=0000000000000000 [ 0.000000] Oops [#1] [ 0.000000] Modules linked in: [ 0.000000] CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 7.2.7-300.0.riscv64.omni.fc45.riscv64 #1 PREEMPT(undef) [ 0.000000] epc : of_n_addr_cells+0x10/0x48 [ 0.000000] ra : riscv_init_memory_alias+0x42/0x2e8 [ 0.000000] epc : ffffffff919e9da0 ra : ffffffff91e09ce2 sp : ffffffff93e03dd0 [ 0.000000] gp : ffffffff94292900 tp : ffffffff93e12dc0 t0 : 000000000000001e [ 0.000000] t1 : 0000000000000002 t2 : ff1bfffffea793d6 s0 : ffffffff93e03de0 [ 0.000000] s1 : ffffffff9464c678 a0 : 0000000000000000 a1 : ffffffff92c9fd48 [ 0.000000] a2 : ffffffff92c9fce8 a3 : 0000000000000008 a4 : 0000000000000000 [ 0.000000] a5 : 0000000000000000 a6 : 0000000000000006 a7 : ffffffff93e12dc0 [ 0.000000] s2 : ffffffff944cc000 s3 : 000000017f01a6c0 s4 : fffffffffffffff3 [ 0.000000] s5 : 000000009c400000 s6 : 000000017f690998 s7 : 000000017edb2d30 [ 0.000000] s8 : 000000017edb2d38 s9 : 000000017edb2d40 s10: 0000000000000000 [ 0.000000] s11: 0000000000000000 t3 : ffffffff9458edc0 t4 : 0000000000000030 [ 0.000000] t5 : ffffffff9458ed90 t6 : ffffffff940d90a4 ssp : 0000000000000000 [ 0.000000] status: 0000000200000100 badaddr: 0000000000000068 cause: 000000000000000d [ 0.000000] [<ffffffff919e9da0>] of_n_addr_cells+0x10/0x48 [ 0.000000] [<ffffffff91e09ce2>] riscv_init_memory_alias+0x42/0x2e8 [ 0.000000] [<ffffffff91e06022>] setup_arch+0x132/0x218 [ 0.000000] [<ffffffff91e0153e>] start_kernel+0x7e/0x6b0 [ 0.000000] Code: 0001 0001 0001 0001 0001 0001 1141 e022 e406 0800 (753c) cb91 [ 0.000000] ---[ end trace 0000000000000000 ]--- [ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task! [ 0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]--- ``` ### Reproducer: (1) Get the image from here and unpack it: https://riscv-koji.fedoraproject.org/koji/buildinfo?buildID=133357 (2) Import it into libvirt: ``` virt-install \ --import \ --name f45-omni-take2 \ --osinfo fedora-rawhide \ --arch riscv64 \ --cpu mode=maximum \ --vcpus 4 \ --ram 4096 \ --boot uefi \ --disk path=/var/lib/libvirt/images/Fedora-Server-Host-Omni-45-20260923.1.riscv64.raw\ --network default \ --tpm none \ --graphics none \ --controller scsi,model=virtio-scsi \ --features acpi=on ```
kashyapc changed title from With ACPI enabled, RISC-V F45 server image fails to boot on QEMU to With ACPI enabled, RISC-V F45 server image boot freezes 2026-09-24 12:36:37 +00:00
Owner

It is omni only. the Fedora 44 host generic boots. the omni does not. Claude says it is: gitlab.com/jmontleon/kernel-ark/-@ae2f6ec73f

Which I believe I picked up in the RHEL 10 tech preview patches from CCharles Mirabile's tree: gitlab.com/cmirabil/kernel-ark/-@564d890a2e

Claude's explanation: https://gist.github.com/jasonmontleon/e05983bbe7a08f1076b5be96613293f5

Note the Fedora 45 host generic image currently seems to have an old 7.1.5 omni kernel instead of the current 7.2.7 stock Fedora kernel, so if you don't notice the kernel version when booting you could be tricked into thinking it is not just the omni kernel that is broken. Once that's fixed the Fedora 45 Host Generic image should boot fine under QEMU.

I don't know how critical the implicated patch is for ESWIN. We could just tell people to use the Host-Generic image with QEMU. I asked Charles on Matrix if he has a suggestion regarding the implicated commit.

It is omni only. the Fedora 44 host generic boots. the omni does not. Claude says it is: https://gitlab.com/jmontleon/kernel-ark/-/commit/ae2f6ec73f3c97506ca2512c2f8261eb6eb0bc62 Which I believe I picked up in the RHEL 10 tech preview patches from CCharles Mirabile's tree: https://gitlab.com/cmirabil/kernel-ark/-/commit/564d890a2e54658a69cf4ea1c0349989b3d3e038 Claude's explanation: https://gist.github.com/jasonmontleon/e05983bbe7a08f1076b5be96613293f5 Note the Fedora 45 host generic image currently seems to have an old 7.1.5 omni kernel instead of the current 7.2.7 stock Fedora kernel, so if you don't notice the kernel version when booting you could be tricked into thinking it is not just the omni kernel that is broken. Once that's fixed the Fedora 45 Host Generic image should boot fine under QEMU. I don't know how critical the implicated patch is for ESWIN. We could just tell people to use the Host-Generic image with QEMU. I asked Charles on Matrix if he has a suggestion regarding the implicated commit.
Owner

The commit that is causing it is required for ESWIN, but I have a small patch I have tested on the P550, Megrez, and QEMU. In all cases it boots fine, Barring any unexpected issues I will carry this in the Omni kernel in 7.2.8+ so that in case someone uses it by accident or because they have it on hand already it doesn't unexpectedly crash under QEMU.

The commit that is causing it is required for ESWIN, but I have a small patch I have tested on the P550, Megrez, and QEMU. In all cases it boots fine, Barring any unexpected issues I will carry this in the Omni kernel in 7.2.8+ so that in case someone uses it by accident or because they have it on hand already it doesn't unexpectedly crash under QEMU.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
riscv/planning#35
No description provided.