--- wikisrc/ports/evbarm.mdwn 2018/07/19 10:15:05 1.48 +++ wikisrc/ports/evbarm.mdwn 2018/11/21 13:27:04 1.57 @@ -1,14 +1,12 @@ [[!template id=port port="evbarm" port_alt="arm" -port_var1="arm" -port_var2="armeb" -port_var3="earm" -port_var4="earmeb" -port_var5="earmv6hf" -port_var6="earmv7hf" -port_var7="earmv7hfeb" -port_var_install_notes="evbarm-arm" +port_var1="earm" +port_var2="earmeb" +port_var3="earmv6hf" +port_var4="earmv7hf" +port_var5="earmv7hfeb" +port_var_install_notes="evbarm-earm" cur_rel="8.0" future_rel="9.0" changes_cur="8.0" @@ -24,25 +22,44 @@ Matt Thomas is the maintainer of NetBSD/ ### CPU types -The evbarm port can be built with a variety of CPU options. There are -three main variables: the instruction set, the endianness, and whether -there is hardware floating point. By default the CPU type is "earm", -and this implies little endian (el when explicitly stated), and soft +The evbarm port can be built with a variety of CPU options, corresponding to the +[large array of ARM CPU architectures](https://en.wikipedia.org/wiki/ARM_architecture#Cores). +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 +architecture, little endian (el when explicitly stated), and soft (emulated) floating point. Another example, suitable for Raspberry PI -2, is earmv7hf, which is the v7 instruction set, little endian, -and hardware floating point. +2, is earmv7hf, which is aarch32, the v7 instruction set, little +endian, and hardware floating point. Typically, various boards are best compiled with a CPU type that matches the board's CPU and floating point support, but generally a lower CPU instruction set version is workable on a newer board. See 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 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 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 - [[Allwinner sunxi family SoCs|Allwinner]] - [[BeagleBone and BeagleBone Black|BeagleBone]]