Update on FreeBSD/armv6 in QEMU

June 29, 2013 — 5 Comments

QEMU support in FreeBSD/armv6 regressed since I tried it last time few months back. Changes in FreeBSD kernel and in QEMU itself revealed bugs that were masked by previous behaviour.

In FreeBSD it was r248467: the way memory/IO resources are activated on FDT bus has been changed and it triggered bug in versatile_pci.c

The other issue is more complex. It seems that PCI IRQ routing in QEMU was out of sync with real hardware. So after commit 66a96d7018b9cbabb73c9b87b62a37e4cc46580a IRQ numbers assigned to PCI devices by FreeBSD kernel by default were invalid. Authors of QEMU eventually added compatibility knob to fall back to previous logic. So if you’re using QEMU 1.5 or later add this option to your command line:

-global versatile_pci.broken-irq-mapping=1

gonzo

Posts

5 responses to Update on FreeBSD/armv6 in QEMU

  1. Hi Gonzo I’m actually trying to boot an up2date FreeBSD-HEAD image in headless mode with a crosscompiled qemu on my win64 notebook… but it seems to be stuck.

    How i try to start it:
    D:\QEMU>qemu-system-arm.exe -M versatilepb -m 512M -cpu arm1176 -hda FreeBSD-HEAD-r252204-ARMv6-RPI-B-8GB.img -kernel freebsd-versatilepb-headless.flash -global -versatile_pci.broken-irq-mapping=1

    Latest lines i see on qemu serial console:
    — cut —
    Alloc resources 1, 0000001b..0000001b, 1
    Alloc resources 3, 00000000..ffffffff, 8192
    sym0: Lazy allocation of 0×2000 bytes rid 0×18 type 3 at 50002000

Trackbacks and Pingbacks:

  1. FreeBSD/armv6 in QEMU | FreeBSD developer's notebook - June 29, 2013

    [...] [QEMU 1.5 users see this update] [...]

  2. (*Updated*) Miscellaneous FreeBSD news and Updates | FreeBSD News - August 15, 2013

    [...] Update on FreeBSD/armv6 in QEMU [...]

Leave a Reply

*

Text formatting is available via select HTML. <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>