Source
This page contains some details about the FreeBSD/arm64 development process. Now that arm64 is a release architecture this information is largely kept here for historical purposes.
The basic FreeBSD/arm64 support has been available in FreeBSD-CURRENT for quite some time.
Delivery into head:
Review |
Commit |
Description |
kernel-toolchain |
||
sys/ includes |
||
libc/libstand |
||
rtld-elf |
||
libthr |
||
remaining machine headers |
||
libcompiler-rt |
||
|
crunchide |
|
libcompiler-rt multc3 |
||
libcompiler-rt float* |
||
LLVM vs ld/gold reloc |
||
rtld TLS |
||
libthread_db |
||
stub libkvm |
||
CDDL defines |
||
Initial kernel merge |
||
|
libgcc_s infrastructure |
|
devmap arm/arm64 sharing |
||
|
psci driver |
|
|
arm64 psci interface |
|
loader.efi for arm64 |
||
busdma (IO coherent systems) |
||
GICv3 |
||
ITS |
||
Options for dmb() and dsb() |
||
ACPI |
||
fabs() |
||
PMC |
||
ECAM PCI driver |
||
DTrace no-modules |
||
DTrace |
||
|
|
busdma caching |
(Does not include hardware specific support and subsequent bug fixes. Does not include work from July 2015 on.)
dmesg
From 18 November 2014 with a kernel filesystem:
The default boot selection will start in 3 seconds [1] FreeBSD loader from SemiHosting - VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/loader.efi - LoaderType: EFI Application ----------------------- Global FDT Config - VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/foundation-v8.dtb ----------------------- [a] Boot Manager [b] Shell [c] Reboot [d] Shutdown Start: Invalid input, please choose a menu option from the list above Start: 1 Consoles: EFI console Image base: 0x9b189000 EFI version: 2.40 EFI Firmware: ARM Foundation Model EFI Feb 23 2014 22:56:26 (rev 0.00) FreeBSD/arm64 EFI loader, Revision 1.0 (andrew@bender, Thu Nov 13 17:21:08 GMT 2014) /kernel data=0x93e770+0x52008 syms=[0x8+0x981a8+0x8+0x9db5c] Hit [Enter] to boot immediately, or any other key for command prompt. Booting [/kernel]... EFI did not provide DTB, falling back to use /foundation.dtb /foundation.dtb size=0xbcc dtbfp = ffffff8000ac6490 In initarm on arm64 dtbp = ffffff8000ac6490 0 - 0 80000000 - 9b1d7000 9b1e0000 - a0000000 a0300000 - ffab8000 ffafe000 - ffb01000 ffb02000 - ffb19000 ffb1a000 - 100000000 Total = 7fcaf000 pmap_bootstrap ffffff8000004000 99000000 ac9000 ffffff8000004000 End initarm Copyright (c) 1992-2014 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 11.0-CURRENT #65 af5e5a6(userland): Tue Nov 18 11:32:33 GMT 2014 andrew@bender:/usr/obj/arm64.arm64/usr/home/andrew/freebsd/repo/arm64-github/sys/GENERIC arm64 FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512 random device not loaded/active; using insecure pseudo-random number generator random: entropy device infrastructure driver random: selecting highest priority adaptor <Dummy> random: SOFT: yarrow init() random: selecting highest priority adaptor <Yarrow> ofwbus0: <Open Firmware Device Tree> gic0: <ARM Generic Interrupt Controller> mem 0x2c001000-0x2c001fff,0x2c002000-0x2c0020ff on ofwbus0 gic0: pn 0x390, arch 0x2, rev 0x0, implementer 0x43b sc->nirqs 96 generic_timer0: <ARMv8 Generic Timer> irq 29,30,27,26 on ofwbus0 Timecounter "ARM MPCore Timecounter" frequency 100000000 Hz quality 1000 Event timer "ARM MPCore Eventtimer" frequency 100000000 Hz quality 1000 simplebus0: <Flattened device tree simple bus> on ofwbus0 simplebus1: <Flattened device tree simple bus> on simplebus0 uart0: <PrimeCell UART (PL011)> mem 0x90000-0x90fff irq 37 on simplebus1 uart0: console (115200,n,8,1) uart1: <PrimeCell UART (PL011)> mem 0xa0000-0xa0fff irq 38 on simplebus1 uart2: <PrimeCell UART (PL011)> mem 0xb0000-0xb0fff irq 39 on simplebus1 uart3: <PrimeCell UART (PL011)> mem 0xc0000-0xc0fff irq 40 on simplebus1 Timecounters tick every 1.000 msec random: unblocking device. Trying to mount root from ufs:/dev/md0 []... Mounting from ufs:/dev/md0 failed with error 2. Trying to mount root from ufs:md0 []... warning: no time-of-day clock registered, system time will not be set accurately Enter full pathname of shell or RETURN for /bin/sh: Cannot read termcap database; using dumb terminal settings. # echo * bin dev sbin # ls bin dev sbin