--- wikisrc/ports/evbarm.mdwn 2018/11/24 22:46:45 1.67 +++ wikisrc/ports/evbarm.mdwn 2020/02/15 08:00:06 1.86 @@ -6,20 +6,19 @@ port_var2="earmeb" port_var3="earmv6hf" port_var4="earmv7hf" port_var5="earmv7hfeb" +port_var6="aarch64" port_var_install_notes="evbarm-earm" -cur_rel="8.0" -future_rel="9.0" -changes_cur="8.0" -changes_future="9.0" -thumbnail="http://www.netbsd.org/images/ports/evbarm/adi_brh.gif" +cur_rel="9.0" +future_rel="10.0" +changes_cur="9.0" +changes_future="10.0" +thumbnail="//www.netbsd.org/images/ports/evbarm/adi_brh.gif" about=""" NetBSD/evbarm is the port of NetBSD to various evaluation and prototyping boards based on CPUs implementing the ARM architecture. NetBSD/evbarm also supports some specific embedded system products based on prototype board designs. -Matt Thomas is the maintainer of NetBSD/evbarm. - ### CPU types The evbarm port can be built with a variety of CPU options, corresponding to the @@ -27,7 +26,7 @@ The evbarm port can be built with a vari There are four main variables: the word size, the instruction set, the endianness, and whether there is hardware floating point. By default -the CPU type is "earm", and this implies aarch32 (32-bit), \todo cpu +the CPU type is "earm", and this implies aarch32 (32-bit), earmv5 cpu architecture, little endian (el when explicitly stated), and soft (Emulated) floating point. Another example, suitable for Raspberry PI 2, is earmv7hf, which is aarch32, the v7 instruction set, little @@ -51,59 +50,11 @@ set and the aarch64 architecture, built (Note also that armv8 is the first architecture to support aarch64, so this will not be an issue until at least armv9.) -#### ABI types +### QEMU -There are two basic ABIs on ARM. One, called oabi, assumed a -particular kind of hardware floating point (FPA). This results in -faulting any floating-point instructions for kernel emulation on a -vast number of CPus, which is very slow. A newer one, called eabi, -has two variants. Both have stricter alignment rules, tending to 8 -byte rather than 4 bytes for 8-byte types (but actually read the specs -if you care). The one without "hf" emulates floating point without -causing traps/emulation, and "hf" uses VFP instructions, which are -present on modern CPUs. See the -[TS-7200](https://wiki.embeddedarm.com/wiki/EABI_vs_OABI) and -[Debian](https://wiki.debian.org/ArmEabiPort) documentation. - -Now, EABI is normal, and OABI is crufty. The only real reason NetBSD -retains OABI support is binary compatibility with older releases. The -"arm" and "armeb" MACHINE_ARCH targets are OABI; the rest of the -targets, all having "earm" are EABI. - -\todo CHECK THIS: The "aarch64" MACHINE_ARCH target is an EABI variant. - -### Relationship of MACHINE_ARCH to official ARM terminology - -Note that these are all little endian, and have big endian variants -with a "eb" suffix. Unless otherwise noted, all use the A32 or -aarch32 instruction set. - -[[!table data=< + +""" supported_hardware=""" -**NOTE**: This list is incomplete. For a full list of configurations, please see the [evbarm kernel configs](http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/evbarm/conf/) directory in CVS. +**NOTE**: This list is incomplete. For a full list of boards, please see the [GENERIC DTS files](http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/arch/evbarm/conf/GENERIC). [[!toc startlevel=3]] @@ -322,6 +289,8 @@ Support for NVIDIA [[Tegra]] K1 SoCs is ### Raspberry Pi Foundation **Raspberry Pi**/**Raspberry Pi 2**/**Raspberry Pi 3** The [[Raspberry Pi]] is a low-cost credit-card-sized computer from the Raspberry Pi Foundation. The Raspberry Pi, Pi 2, and Pi 3 are supported. +See the [[Raspberry Pi 1, 2 and 3|Raspberry Pi]] page for much more information. + ### Samsung **SMDK2410** The SMDK2410 is the reference platform for the Samsung **S3C2410** processor,