version 1.48, 2018/07/19 10:15:05
|
version 1.56, 2018/11/11 16:37:42
|
Line 1
|
Line 1
|
[[!template id=port |
[[!template id=port |
port="evbarm" |
port="evbarm" |
port_alt="arm" |
port_alt="arm" |
port_var1="arm" |
port_var1="earm" |
port_var2="armeb" |
port_var2="earmeb" |
port_var3="earm" |
port_var3="earmv6hf" |
port_var4="earmeb" |
port_var4="earmv7hf" |
port_var5="earmv6hf" |
port_var5="earmv7hfeb" |
port_var6="earmv7hf" |
port_var_install_notes="evbarm-earm" |
port_var7="earmv7hfeb" |
|
port_var_install_notes="evbarm-arm" |
|
cur_rel="8.0" |
cur_rel="8.0" |
future_rel="9.0" |
future_rel="9.0" |
changes_cur="8.0" |
changes_cur="8.0" |
Line 25 Matt Thomas is the maintainer of NetBSD/
|
Line 23 Matt Thomas is the maintainer of NetBSD/
|
### CPU types |
### CPU types |
|
|
The evbarm port can be built with a variety of CPU options. There are |
The evbarm port can be built with a variety of CPU options. There are |
three main variables: the instruction set, the endianness, and whether |
four main variables: the word size, the instruction set, the |
there is hardware floating point. By default the CPU type is "earm", |
endianness, and whether there is hardware floating point. By default |
and this implies little endian (el when explicitly stated), and soft |
the CPU type is "earm", and this implies aarch32 (32-bit), \todo cpu |
|
architecture, little endian (el when explicitly stated), and soft |
(emulated) floating point. Another example, suitable for Raspberry PI |
(emulated) floating point. Another example, suitable for Raspberry PI |
2, is earmv7hf, which is the v7 instruction set, little endian, |
2, is earmv7hf, which is aarch32, the v7 instruction set, little |
and hardware floating point. |
endian, and hardware floating point. |
|
|
Typically, various boards are best compiled with a CPU type that |
Typically, various boards are best compiled with a CPU type that |
matches the board's CPU and floating point support, but generally a |
matches the board's CPU and floating point support, but generally a |
lower CPU instruction set version is workable on a newer board. See |
lower CPU instruction set version is workable on a newer board. See |
build.sh and look for aliases for the evbarm port. |
build.sh and look for aliases for the evbarm port. |
|
|
|
Through NetBSD 8, the evbarm port has supported exclusively the |
|
aarch32 (32-bit CPU) sub-family of the ARM architecture. Some |
|
processors, such as many supporting the armv8 CPU architecture, also |
|
support a 64-bit instruction set, referred to as aarch64. This is |
|
sometimes referred to as a distinct port, [[NetBSD/aarch64|aarch64]], |
|
with code in src/sys/arch/aarch64, but it is built as the evbarm port |
|
with aarch64 cpu type, and available as the alias evbarm64. |
|
|
### Kernels and userland |
### Kernels and userland |
|
|
The evbarm userland can be used on any system that can run code of the |
The evbarm userland can be used on any system that can run code of the |
CPU type used for the build. Typically, a particular board requires a |
CPU type used for the build. Typically, a particular board requires a |
kernel for that board. |
kernel for that board. |
|
|
|
### anita and qemu |
|
|
|
anita can be used to test builds. (In addition to anita, install qemu and dtb-arm-vexpress from pkgsrc.) The release subdirectory should follow the naming convention on the autobuild cluster, used below. |
|
|
|
- evbarm-earmv7hf uses "qemu-system-arm -M vexpress-a15" |
|
- evbarm-aarch64 uses "qemu-system-aarch64 -M virt" |
|
- Information on how to test emulated versions of other specific hardware is welcome. |
|
|
### Board specific information |
### Board specific information |
- [[Allwinner sunxi family SoCs|Allwinner]] |
- [[Allwinner sunxi family SoCs|Allwinner]] |
- [[BeagleBone and BeagleBone Black|BeagleBone]] |
- [[BeagleBone and BeagleBone Black|BeagleBone]] |