FreeBSD/armv6 for QEMU

Oleksandr Tymoshenko gonzo at
Thu Dec 6 07:52:59 UTC 2012


I've just finished first version of VersatilePB support for FreeBSD/armv6.
QEMU uses this machine as a base for armv6 emulation. 

Full patch:
Build/run info:

Kernel supports serial console, timers, primary and secondary interrupt
controllers, PCI, LCD controller, Keyboard/Mouse interface (partially,
no LEDs suport, no mouse)

Some patches are not versatile-pb specific so I'd like more people to look
at them:

Check for return code of fdt_get_range and if it fails assume base address 
is zero. Otherwise pbase was used uninitialized and causes exception

Disable if_smc's interrupt in filter. It is reenabled by taskqueue later

Barrier function for ARM

There is one more PL011-specific change, but Im still not sure if it's correct

Some notes taken during development:

- FDT support for handling interrupt-source property is insufficient for cascading 
  interrupt controllers. I think concept of global IRQ space,  arm_get_next_irq 
  and related functions should be reconsidered at least for FDT-enabled kernels.

- Proper PS/2 keyboard support for arch other than sparc/x86 is inevitable
   code duplications. PS/2 protocol logic should be extracted from dev/atkbd
   and made arch-indepedent.

- Framebuffer/syscons driver is PITA. No news here

More information about the freebsd-arm mailing list