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

D2005

r280259

kernel-toolchain

D2057

r280364

sys/ includes

D2132

r281197

libc/libstand

D2136

r280903

rtld-elf

D2137

r280862

libthr

D2148

r280711

remaining machine headers

D2160

r280853

libcompiler-rt

r280769

crunchide

D2173

r281221

libcompiler-rt multc3

D2174

r281223

libcompiler-rt float*

D2175

r280865

LLVM vs ld/gold reloc

D2183

r281014

rtld TLS

D2184

r280952

libthread_db

D2185

r280997

stub libkvm

D2186

r280951

CDDL defines

D2199

r281494

Initial kernel merge

r280993

libgcc_s infrastructure

D2249

r281493

devmap arm/arm64 sharing

r281466

psci driver

r281497

arm64 psci interface

D2288

r281526

loader.efi for arm64

D2357

r282655

busdma (IO coherent systems)

D2377

r282867

GICv3

D2378

r285213

ITS

D2701

r284196

Options for dmb() and dsb()

D2463

r284273

ACPI

D2532

r282909

fabs()

D2555

r283112

PMC

D2386

r284317

ECAM PCI driver

D1997

r284227

DTrace no-modules

D2738

r285009

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

arm64/history (last edited 2017-11-14T20:21:18+0000 by EdMaste)