Date: Tue, 08 Jan 2013 20:25:39 -0500 From: George Mitchell <george+freebsd@m5p.com> To: freebsd-arm@freebsd.org Subject: Re: FreeBSD/armv6z/clang on Raspberry Pi 512MB (with U-Boot + ubldr) Message-ID: <50ECC713.6000507@m5p.com> In-Reply-To: <E48DEAF481F74C69A1BC7A01F2B8E74A@ad.peach.ne.jp> References: <B5F827FF91C94FF2AFEE00194A2BB2C5@ad.peach.ne.jp> <B508111FCE534B2CBA61F4D1EC1078D3@ad.peach.ne.jp> <D3ABE3919EA74D668DB060952B5CD8C0@ad.peach.ne.jp> <2659960079254C38ACD2F1DCBB7A1A19@ad.peach.ne.jp> <E48DEAF481F74C69A1BC7A01F2B8E74A@ad.peach.ne.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
On 01/08/13 12:11, Daisuke Aoyama wrote: > I have updated clang RPI code based on SVN r244906 + pmap-wb-caches-fix. > > Now default transfer mode is DMA. If you want to use PIO(previous method), > you can change it by following command anytime: > > # sysctl hw.bcm2835.sdhci.pio=1 > > or add to /boot/loader.rc: > > set hw.bcm2835.sdhci.pio=1 > > major change: > o fix critical bug caused panic in arm/arm/vfp.c > o fix VFP compatibility for existing world/apps using SIGILL > o add TMPFS and UNIONFS kernel config > o use tmpfs as /tmp > o merge pmap-wb-caches-fix.diff and arm-autotune-fix.diff by gonzo > o assign all DMA(DMA0-12) IRQs in bcm2835-rpi-b.dts > o increase DI_MAX_INTR_NUM to 16 (necessary for DMA IRQs) > o call rman_set_virtual if SYS_RES_MEMORY > o add transfer and transfer_end method to dev/sdhci > o add simple DMA controller (does not support linked operation) > o test implement DMA transfer for SD card I/O > o add hw.bcm2835.sdhci.pio for PIO transfer (disabled by default) > > Note: > 512 byte chunk is used for each DMA transfer of SD because eMMC have > only 1KB FIFO. > PIO mode is always used for a request smaller than 512 byte. > DMA transfer is not so fast although the efficiency of the bus differs. > At this time, first trigger is invoked by same INT of PIO. > sys/dev/sdhci/sdhci.c should be rewritten to adapt the DMA controller. > > Known Problems: > To store correct values to DMA engine, it uses D-cache invalidate all. > (unknown reason, first chunk only) > Some code using VFP hang. > > You can get the pre-build image from my archives: > > http://www.peach.ne.jp/archives/rpi/ > > Using config is here: > http://www.peach.ne.jp/archives/rpi/config/RPI-B-test13 > > New kernel only is here: > http://www.peach.ne.jp/archives/rpi/kernel/ > > Source and pacth is here: > http://www.peach.ne.jp/archives/rpi/patch/ > > > For more info, please read old ML or Japanese blog: > http://lists.freebsd.org/pipermail/freebsd-arm/2013-January/004541.html > http://lists.freebsd.org/pipermail/freebsd-arm/2013-January/004507.html > http://lists.freebsd.org/pipermail/freebsd-arm/2012-December/004421.html > http://lists.freebsd.org/pipermail/freebsd-arm/2012-December/004331.html > http://shell.peach.ne.jp/aoyama/ > > > Enjoy clang world in Raspberry Pi! > Thank you. Wonderful! Best of all, the console has a cursor! It's sitting there building sysutils/LPRng on an NFS-mounted /usr/ports tree (though it doesn't appear it will finish before the morning). No crash so far! Thank you very much! -- George Mitchell
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50ECC713.6000507>