Annotation of wikisrc/ports.mdwn, revision 1.23

1.6       ryoon       1: [[!meta title="Platforms supported by NetBSD"]]
1.9       mlelstv     2: NetBSD calls a supported architecture a 'port'. Most ports run on generic hardware and emulators, although some [commercial hardware](http://www.netbsd.org/gallery/hardware.html) also exists. The NetBSD Ports History page details the inclusion date for each port.
1.1       wiki        3: 
                      4: Ports are classified into three 'tiers' based on the current importance of the architecture and the level of community activity. Summarizing, the tiers can be viewed to represent ports that NetBSD will support, ports that NetBSD does its best to support, and ports which may be desupported soon. The tier for each port may change over time and is decided by <core@NetBSD.org> based on input from users and developers.
                      5: 
1.6       ryoon       6: #Tier I: Focus -- support is part of NetBSD's strategy
1.1       wiki        7: 
                      8: Focus ports are the architectures that NetBSD targets as part of its strategy.<br />
                      9: The platforms consist of modern server, embedded and desktop architectures.
                     10: 
                     11: The guidelines are as follows:
                     12: 
                     13: * Machine independent (MI) changes should benefit these ports.
                     14: * MI changes must be tested on at least one of these ports.
                     15: * It is the developer's responsibility to implement machine dependent (MD) support necessary for changes, fix build problems and aid in debugging with any platform-specific problems.
                     16: * Even within a port, common sense should be used (cf. the i386 port which still supports 486).
                     17: * Regressions in the automated NetBSD test suite (/usr/tests) are not allowed.
                     18: 
                     19: Currently there are 8 ports with Tier I status. They are:
                     20: 
1.4       ryoon      21: [[!table data="""
1.9       mlelstv    22: Port           |CPU            |Machines                                               |Latest Release
1.18      maya       23: [[aarch64]]    |aarch64        |64-bit ARM CPUs                                        |Not yet released
1.23    ! martin     24: [[amd64]]      |x86_64         |64-bit x86-family machines with AMD and Intel CPUs     |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            25: [[evbarm]]     |arm            |ARM evaluation boards                                  |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            26: [[evbmips]]    |mips           |MIPS-based evaluation boards                           |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            27: [[evbppc]]     |powerpc        |PowerPC-based evaluation boards                        |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            28: [[hpcarm]]     |arm            |StrongARM based Windows CE PDA machines                |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            29: [[i386]]       |i386           |32-bit x86-family generic machines ("PC clones")       |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            30: [[sparc64]]    |sparc          |Sun UltraSPARC (64-bit)                                |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            31: [[xen]]                |i386, x86_64   |Xen Virtual Machine Monitor                            |[8.1](http://www.netbsd.org/releases/formal-8/)
1.4       ryoon      32: """]]
                     33: 
1.1       wiki       34: 
1.6       ryoon      35: #Tier II: Organic -- evolving at its own pace
1.1       wiki       36: 
                     37: Organic ports are highly valued by the NetBSD project, but their development is not as tightly mandated as that of the focus ports. Generally speaking, the hardware platforms of organic ports have lost their industrial relevance, or there is not enough community activity for the port to make it to the first tier. The guidelines are as follows:
                     38: 
                     39: * Generally speaking, the port boots and works, but keeping it working is the responsibility of the user community. This includes, but is not limited to, kernel changes and toolchain upgrades.
                     40: * Developers committing MI changes are still encouraged to keep ports up-to-date when it can be easily done.
                     41: * MI architecture decisions may penalize organic ports if there is a benefit for focus ports.
                     42: * If the port is not working at release time, a release is done without the port and the port is moved down to the life support tier.
                     43: 
                     44: Currently there are 49 ports with Tier II status. They are:
                     45: 
1.4       ryoon      46: [[!table data="""
1.9       mlelstv    47: Port           |CPU            |Machines                                                               |Latest Release
1.23    ! martin     48: [[acorn32]]    |arm            |Acorn RiscPC/A7000/NC and compatibles                                  |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            49: [[algor]]      |mips           |Algorithmics MIPS evaluation boards                                    |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            50: [[alpha]]      |alpha          |Digital Alpha (64-bit)                                                 |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            51: [[amiga]]      |m68k           |Commodore Amiga, MacroSystem DraCo                                     |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            52: [[amigappc]]   |powerpc        |PowerPC-based Amiga boards                                             |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            53: [[arc]]                |mips           |Machines following the Advanced RISC Computing spec                    |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            54: [[atari]]      |m68k           |Atari TT030, Falcon, Hades                                             |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            55: [[bebox]]      |powerpc        |Be Inc's BeBox                                                         |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            56: [[cats]]       |arm            |Chalice Technology's Strong Arm evaluation board                       |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            57: [[cesfic]]     |m68k           |CES's FIC8234 VME processor board                                      |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            58: [[cobalt]]     |mips           |Cobalt Networks' Microservers                                          |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            59: [[dreamcast]]  |[[sh3]]        |Sega Dreamcast game console                                            |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            60: [[epoc32]]     |arm            |32bit PSION EPOC PDA                                                   |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            61: [[emips]]      |mips           |Machines based on "Extensible MIPS"                                    |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            62: [[evbsh3]]     |[[sh3]]        |Evaluation boards with Renesas (Hitachi) Super-H SH3 and SH4 CPUs      |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            63: [[ews4800mips]]        |mips           |NEC's MIPS based EWS4800 workstations                                  |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            64: [[hp300]]      |m68k           |Hewlett-Packard 9000/300 and 400 series                                |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            65: [[hppa]]       |hppa           |Hewlett-Packard 9000/700 series                                        |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            66: [[hpcmips]]    |mips           |MIPS based Windows CE PDA machines                                     |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            67: [[hpcsh]]      |[[sh3]]        |Renesas (Hitachi) SH3 and SH4 based Windows CE PDA machines            |[8.1](http://www.netbsd.org/releases/formal-8/)
1.9       mlelstv    68: [[ia64]]       |itanium        |Itanium family of processors                                           |none
1.23    ! martin     69: [[ibmnws]]     |powerpc        |IBM Network Station Series 1000                                        |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            70: [[iyonix]]     |arm            |Iyonix ARM pc                                                          |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            71: [[landisk]]    |[[sh3]]        |SH4 based NAS appliances by I-O DATA                                   |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            72: [[luna68k]]    |m68k           |OMRON Tateisi Electronics' LUNA series                                 |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            73: [[mac68k]]     |m68k           |Apple Macintosh                                                        |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            74: [[macppc]]     |powerpc        |Apple Power Macintosh and clones                                       |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            75: [[mipsco]]     |mips           |Mips family of workstations and servers                                |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            76: [[mmeye]]      |[[sh3]]        |Brains' mmEye Multi Media Server                                       |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            77: [[mvme68k]]    |m68k           |Motorola MVME 68k SBCs                                                 |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            78: [[mvmeppc]]    |powerpc        |Motorola MVME PowerPC SBCs                                             |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            79: [[netwinder]]  |arm            |StrongARM based NetWinder machines                                     |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            80: [[news68k]]    |arm            |Sony's m68k based "NET WORK STATION" series                            |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            81: [[newsmips]]   |mips           |Sony's MIPS based "NET WORK STATION" series                            |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            82: [[next68k]]    |m68k           |NeXT 68k 'black' hardware                                              |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            83: [[ofppc]]      |powerpc        |Generic OpenFirmware compliant PowerPC machines                        |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            84: [[pmax]]       |mips           |Digital MIPS-based DECstations and DECsystems                          |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            85: [[prep]]       |powerpc        |PReP (PowerPC Reference Platform) and CHRP machines                    |[8.1](http://www.netbsd.org/releases/formal-8/)
1.22      leot       86: [[riscv]]      |riscv          |RISC-V                                                                 |none
1.23    ! martin     87: [[rs6000]]     |powerpc        |MCA-based IBM RS/6000 workstations                                     |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            88: [[sandpoint]]  |powerpc        |Motorola Sandpoint reference platform                                  |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            89: [[sbmips]]     |mips           |Broadcom SiByte evaluation boards                                      |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            90: [[sgimips]]    |mips           |Silicon Graphics' MIPS-based workstations                              |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            91: [[shark]]      |arm            |Digital DNARD ("shark")                                                |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            92: [[sparc]]      |sparc          |Sun SPARC (32-bit)                                                     |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            93: [[sun2]]       |m68k           |Sun 2                                                                  |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            94: [[sun3]]       |m68k           |Sun 3 and 3x                                                           |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            95: [[vax]]                |vax            |Digital VAX                                                            |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            96: [[x68k]]       |m68k           |Sharp X680x0 series                                                    |[8.1](http://www.netbsd.org/releases/formal-8/)
        !            97: [[zaurus]]     |arm            |Sharp C7x0/C860/C1000/C3x00 series PDA                                 |[8.1](http://www.netbsd.org/releases/formal-8/)
1.4       ryoon      98: """]]
                     99: 
1.1       wiki      100: 
1.6       ryoon     101: #Tier III: Life Support -- severely incapacitated or broken
1.1       wiki      102: 
                    103: Ports are moved to life support if they no longer function. The reasons can range from lack of community interest to the hardware becoming so rare that it is simply not available any more. If ports in life support are not shown to be working within a reasonable timeframe, they will be moved to the Attic. The guidelines are as follows:
                    104: 
                    105: * Organic ports get moved here if they do not complete a build for 6 months or are otherwise suspected to be broken.
                    106: * It is the responsibility of the users of an organic port to show it is working, not the other way around.
                    107: * Movement to life support causes a mail to be sent out to the port mailing list and the portmaster.
                    108: * Port will be bumped up to organic when it is shown to be working.
                    109: * If the port is not reported fixed within the next 6-12 months, it will be moved to the Attic.
                    110: 
1.17      maya      111: Currently there are no port with Tier III status.
1.7       jnemeth   112: 
1.1       wiki      113: 
                    114: <hr>
                    115: 
1.6       ryoon     116: #Ports by CPU architectures
1.1       wiki      117: This table contains the same set of ports as in the above list, but ordered by MACHINE_ARCH CPU architecture value (returned by
                    118: 'uname -p') and showing a total of
                    119: 16 CPU types. Machines of the same MACHINE_ARCH share the same
                    120: userland binaries (with a few device specific exceptions).
                    121: Both big endian (eb) and little endian (el) MIPS and SH3
                    122: ports are supported.
                    123: 
1.4       ryoon     124: [[!table data="""
                    125: CPU            |Tier(s)        |Ports(s)
1.18      maya      126: aarch64                |I              |[[aarch64]]
1.4       ryoon     127: alpha          |II             |[[alpha]]
1.17      maya      128: arm            |I, II          |[[acorn32]] [[cats]] [[epoc32]] [[evbarm]] [[hpcarm]] [[iyonix]] [[netwinder]] [[shark]] [[zaurus]]
1.8       wiki      129: hppa           |II             |[[hppa]]
1.4       ryoon     130: i386           |I              |[[i386]] [[xen]]
                    131: m68010         |II             |[[sun2]]
                    132: m68k           |II             |[[amiga]] [[atari]] [[cesfic]] [[hp300]] [[luna68k]] [[mac68k]] [[mvme68k]] [[news68k]] [[next68k]] [[sun3]] [[x68k]]
                    133: mipseb         |I, II          |[[emips]] [[evbmips]] [[ews4800mips]] [[mipsco]] [[newsmips]] [[sbmips]] [[sgimips]]
                    134: mipsel         |I, II          |[[algor]] [[arc]] [[cobalt]] [[evbmips]] [[hpcmips]] [[pmax]] [[sbmips]]
1.15      snj       135: powerpc                |I, II          |[[amigappc]] [[bebox]] [[evbppc]] [[ibmnws]] [[macppc]] [[mvmeppc]] [[ofppc]] [[prep]] [[rs6000]] [[sandpoint]]
1.4       ryoon     136: [[sh3eb|sh3]]  |II             |[[evbsh3]] [[mmeye]]
                    137: [[sh3el|sh3]]  |II             |[[dreamcast]] [[evbsh3]] [[landisk]] [[hpcsh]]
                    138: sparc          |II             |[[sparc]]
                    139: sparc64                |I              |[[sparc64]] (Can also run sparc binaries)
                    140: vax            |II             |[[vax]]
                    141: x86_64         |I              |[[amd64]] (Can also run i386 binaries), xen
                    142: """]]
1.19      gdt       143: 
                    144: ## Various ways of denoting ports and CPUs
                    145: 
1.20      gdt       146: When discussing ports and CPUs, there are two concepts, each of which have three ways of being named.  Strictly, the word port refers to the value shown by "uname -m", and typically corresponds to a directory under src/sys.  build.sh supports aliases, which are passed as if they were a port, but expand to a port and a cpu (MACHINE and MACHINE_ARCH); an example is evbearmv7hf-el which expands to the evbarm port and earmv7hf cpu.
1.19      gdt       147: 
                    148: [[!table data="""
                    149: concept | /usr/share/mk variable | uname | build.sh
                    150: port | MACHINE      | uname -m | build.sh -m
                    151: cpu  | MACHINE_ARCH | uname -p | build.sh -a
                    152: """]]
                    153: 
1.21      gdt       154: Additonally, there are things referred to as ports which are not actually "uname -m" values, but are notably different than what would be expected from that port name.  One is xen, which is a system architecture variant of i386/amd64, and another is aarch64, which is a CPU type variant of evbarm.

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb