id = 855 title = "Prebuilt seabios vgabios-stdvga binary causes onboot kernel panics for freebsd 10.0" state = "closed" created_at = "2022-02-03T16:59:03.685Z" closed_at = "2023-08-02T14:32:06.642Z" labels = ["target: i386"] url = "https://gitlab.com/qemu-project/qemu/-/issues/855" host-os = "Ubuntu 21.10" host-arch = "x86" qemu-version = "6.0.0" guest-os = "FreeBSD 10.0-RELEASE" guest-arch = "x86" description = """FreeBSD 10.0 panics on boot since commit: `0221d73ce6a8e075adaa0a35a6ef853d2652b855`, see my attached screenshot of the panic. I digged a bit into what specifically causes the issue, it seems to be caused by the precompiled `vgabios-stdvga.bin`. I don't see this issue come up when I compile the binary myself via the `roms/` folder with different versions of gcc via gcc docker containers. But once I compile the `vgabios-stdvga` from the `roms/` folder with a more modern Ubuntu version (21.10) using gcc 11.2, I also get panics on my `vgabios-stdvga`. At first I thought it was caused by a different gcc version, but since the buster gcc docker container images create correctly functioning `vgabios-stdvga.bin` binaries, I think this is caused by a newer version of the linker coming from the `binutils` package. My local Ubuntu version has version 2.37 of the binutils package, the `gcc:11.2` container which compiles a correct `vgabios-stdvga.bin` has version `2.35.2` of the binutils package. ![Screenshot_from_2022-02-03_17-35-59](/uploads/5bafeca625ebe8b38acd5a0d6c358392/Screenshot_from_2022-02-03_17-35-59.png)""" reproduce = """1. Compile any version after the mentioned commit using the precompiled seabios binaries 2. Try to boot freebsd 10.0-RELEASE 3. Kernel panic because of a page vault during the vesa module load.""" additional = """https://mfsbsd.vx.sk/files/iso/10/amd64/mfsbsd-10.0-RELEASE-amd64.iso"""