Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sparc64: GRUB causes Unhandled Exception in firmware #14

Open
crass opened this issue Jul 28, 2023 · 0 comments
Open

sparc64: GRUB causes Unhandled Exception in firmware #14

crass opened this issue Jul 28, 2023 · 0 comments

Comments

@crass
Copy link
Contributor

crass commented Jul 28, 2023

QEMU: QEMU emulator version 5.2.0 (Debian 1:5.2+dfsg-11+deb11u2)
OpenBIOS: Sparc64 debug build of latest v1.1 release in releases
GRUB ISO: grub.iso.gz

Here's the initial output from OpenBIOS:

OpenBIOS for Sparc64
Configuration device id QEMU version 1 machine id 0
kernel cmdline 
CPUs: 1 x SUNW,UltraSPARC-IIi
UUID: 00000000-0000-0000-0000-000000000000
Welcome to OpenBIOS v1.1 built on Jan 31 2023 22:09
  Type 'help' for detailed information
Trying cdrom:f...
Trying cdrom...
Not a bootable ELF image
Loading a.out image...
Loaded 7680 bytes
entry point is 0x4000
GRUB call-method color!: exception -21 
call-method color! failed with error ffffffffffffffdf
call-method color!: exception -21 

Here is the last many lines when running the GRUB iso in qemu:

kern/ieee1275/openfw.c:57:devalias: device path=/virtual-memory
kern/ieee1275/openfw.c:90:devalias: iterating children of /virtual-memory
kern/ieee1275/openfw.c:57:devalias: device path=/pci@1fe,0
kern/ieee1275/openfw.c:90:devalias: iterating children of /pci@1fe,0
kern/ieee1275/openfw.c:57:devalias: device path=/pci@1fe,0/pci@1,1
kern/ieee1275/openfw.c:90:devalias: iterating children of /pci@1fe,0/pci@1,1
kern/ieee1275/openfw.c:57:devalias: device path=/pci@1fe,0/pci@1,1/ebus@1
kern/ieee1275/openfw.c:90:devalias: iterating children of /pci@1fe,0/pci@1,1/ebus@1
kern/ieee1275/openfw.c:57:devalias: device path=/pci@1fe,0/pci@1,1/ebus@1/eeprom@0
kern/ieee1275/openfw.c:90:devalias: iterating children of /pci@1fe,0/pci@1,1/ebus@1/eeprom@0
kern/ieee1275/openfw.c:57:devalias: device path=/pci@1fe,0/pci@1,1/ebus@1/power@0
kern/ieee1275/openfw.c:90:devalias: iterating children of /pci@1fe,0/pci@1,1/ebus@1/power@0
kern/ieee1275/openfw.c:57:devalias: device path=/pci@1fe,0/pci@1,1/ebus@1/fdthree@0
Unhandled Exception 0x0000000000000030
PC = 0x00000000ffd164c8 NPC = 0x00000000ffd164cc
Stopping execution

Command to reproduce the issue:
qemu-system-sparc64 -no-reboot -nographic -monitor file:/dev/null -serial file:/dev/stdout -cdrom grub.iso -boot d -bios ./openbios-multiarch-latest.zip.d/debug/obj-sparc64/openbios-builtin.elf

The exception happens on an open call into the firmware with path /pci@1fe,0/pci@1,1/ebus@1/fdthree@0. I've followed execution into the forth interpreter and then gave up. It looks like its an issue opening the floppy device, but I've not told QEMU to have anything in the floppy.

Here's a log file of a build from master with some debugging options enabled: grub-openbios-crash.log.gz

@crass crass changed the title GRUB causes Unhandled Exception in firmware for sparc64 build sparc64: GRUB causes Unhandled Exception in firmware Jul 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant