On Sat, Feb 22, 2025 at 11:59:38AM +0100, Aurelien Jarno wrote:
> | Loading Linux 6.13-riscv64 ...
> | Loading initial ramdisk ...
> | EFI stub: Decompressing Linux Kernel...
> | Unhandled exception: Store/AMO access fault
> | EPC: 00000000fb64a6ea RA: 00000000fb64a6da TVAL: 0000000040020020
> | EPC: 000000003b9046ea RA: 000000003b9046da reloc adjusted
> | 
> | Code: 0506 9526 4783 0015 4703 0005 3583 ed84 (0e23 fef9)
> | UEFI image [0x00000000fe6aa000:0x00000000fe6d0fff] 
> '/efi\boot\bootriscv64.efi'
> | UEFI image [0x00000000fb646000:0x00000000fbe933ff] pc=0x46ea

I digged a bit.  Yes, this is the file from
linux-image-6.13-riscv64_6.13.3-1~exp1_riscv64.deb.  It contains the
mentioned instructions:

|     46da:       0506                    slli    a0,a0,0x1
|     46dc:       9526                    add     a0,a0,s1
|     46de:       00154783                lbu     a5,1(a0)
|     46e2:       00054703                lbu     a4,0(a0)
|     46e6:       ed843583                ld      a1,-296(s0)
|     46ea:       fef90e23                sb      a5,-4(s2)

I did not manage to get the crash you mentioned.  The u-boot out of
u-boot-qemu_2024.01+dfsg-7_all.deb can start both the uncompressed EFI
file and the zboot compressed one. Sadly it fails unrelated shortly
after that in both cases.

Using the uncompressed file:

| % qemu-system-riscv64 -m 1024 -nographic -machine virt -device virtio-rng-pci 
-bios ../qemu-riscv64/u-boot.bin -device 
loader,file=../../../../boot/plain,addr=0x84000000
| U-Boot 2024.01+dfsg-7 (Jan 09 2025 - 19:14:04 +0000)
| CPU:   
rv64imafdch_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zifencei_zihintntl_zihintpause_zihpm_zmmul_za64rs_zaamo_zalrsc_zawrs_zfa_zca_zcd_zba_zbb_zbc_zbs_ssccptr_sscounterenw_sstc_sstvala_sstvecd_svadu_svvptc
| Model: riscv-virtio,qemu
| DRAM:  1 GiB
| Core:  25 devices, 12 uclasses, devicetree: board
| Flash: 32 MiB
| Loading Environment from nowhere... OK
| In:    serial,usbkbd
| Out:   serial,vidconsole
| Err:   serial,vidconsole
| No working controllers found
| Net:   No ethernet found.
[…]
| => bootefi 0x84000000:0x1a61000
| No EFI system partition
| No EFI system partition
| Failed to persist EFI variables
| Booting /MemoryMapped(0x0,0x84000000,0x1a61000)
| EFI stub: Booting Linux Kernel...
| EFI stub: Using DTB from configuration table
| EFI stub: Exiting boot services...
| Unhandled exception: Environment call from M-mode
| EPC: 00000000baa1bd6c RA: 00000000baa1be9c TVAL: 0000000000000000
| EPC: 000000007b2ddd6c RA: 000000007b2dde9c reloc adjusted
| 
| Code: 8562 85de 865a 86d6 8752 87ce 8866 88a6 (0073 0000)
| UEFI image [0x00000000bc488000:0x00000000bdee8fff]

Using the zboot compressed file:

|  % qemu-system-riscv64 -m 1024 -nographic -machine virt -device 
virtio-rng-pci -bios ../qemu-riscv64/u-boot.bin -device 
loader,addr=0x84000000,file=../../../../boot/vmlinux-6.13-riscv64
| U-Boot 2024.01+dfsg-7 (Jan 09 2025 - 19:14:04 +0000)
[…]
| => bootefi 0x84000000:0x80d200
| No EFI system partition
| No EFI system partition
| Failed to persist EFI variables
| Booting /MemoryMapped(0x0,0x84000000,0x80d200)
| EFI stub: Decompressing Linux Kernel...
| EFI stub: Using DTB from configuration table
| EFI stub: Exiting boot services...
| Unhandled exception: Environment call from M-mode
| EPC: 000000008001bd6c RA: 000000008001be9c TVAL: 0000000000000000
| EPC: 00000000408ddd6c RA: 00000000408dde9c reloc adjusted
| 
| Code: 8562 85de 865a 86d6 8752 87ce 8866 88a6 (0073 0000)
| UEFI image [0x00000000bd69b000:0x00000000bdee83ff]

The executed code is bogus, but identical both times.  It lives at
different adresses.

Bastian

-- 
Killing is wrong.
                -- Losira, "That Which Survives", stardate unknown

Reply via email to