FreeBSD/armv6z/clang on Raspberry Pi 512MB (with U-Boot + ubldr)

Oleksandr Tymoshenko gonzo at bluezbox.com
Tue Dec 25 20:51:26 UTC 2012


On 2012-12-24, at 4:34 PM, Daisuke Aoyama <aoyama at peach.ne.jp> wrote:

> I've updated FreeBSD clang world for RPI based on svn r244663.
> (To save working time, drop EABI patch.)
> 
> Now clang is 3.2 final. This version includes complete source tree of r244663.
> But the patch is not applied. You must apply the patch manually.
> This version has been confirmed that the kernel can be compiled by self and booting from it.
> 
> You can get the pre-build image from my archives:
> 
> http://www.peach.ne.jp/archives/rpi/
> (At this time, freebsd-pi-clang-20121225.img.gz is the latest version.)
> 
> Download and decompress it, then write it to SD. This image requires SD 4GB or more.
> I'm using as headless server. So, you need a serial console for seeing the boot log.
> If you need to change the value on it, please mount the second partition (e.g. /dev/da0s2a).
> If you want the video out, please remove the line of "set console=comconsole" in /boot/loader.rc.
> 
> Using config is here:
> http://www.peach.ne.jp/archives/rpi/config/RPI-B-test9
> 
> Source(diff) and pacth is here:
> http://www.peach.ne.jp/archives/rpi/patch/

Thanks! I'll integrate timer-related bits later this week, good catch! 
spinlock_enter and spinlock_exit are intended to be used only in
spinlock code and should be replaced by intr_disable/intr_restore there, AFAIU, 

The other bit I'm considering for merge is armv6 instruction for managing interrupts/status.

PTE sync - related part, Im not sure it's strictly required. We use WT caches for page tables
so we should be OK without implicit sync operations for them. I hope somebody 
more clueful can confirm/disprove this. 

 


More information about the freebsd-arm mailing list