NetBSD Work-in-Progress

Taylor ‘Riastradh’ Campbell [email protected]

AsiaBSDcon 2015 Tokyo, Japan March 15, 2015 I NetBSD 7: The graphics release

I NetBSD 7: The ARM SoC release

I NetBSD 7: The RC4-free release

NetBSD 7

Coming soon to a mirror near you!

(Next month?) I NetBSD 7: The ARM SoC release

I NetBSD 7: The RC4-free release

NetBSD 7

Coming soon to a mirror near you!

I NetBSD 7: The graphics release

(Next month?) I NetBSD 7: The RC4-free release

NetBSD 7

Coming soon to a mirror near you!

I NetBSD 7: The graphics release

I NetBSD 7: The ARM SoC release

(Next month?) NetBSD 7

Coming soon to a mirror near you!

I NetBSD 7: The graphics release

I NetBSD 7: The ARM SoC release

I NetBSD 7: The RC4-free release (Next month?) I Intel, up through Haswell

I Radeon

I (Nouveau wedges halfway through boot — workin’ on it!)

Graphics

I DRM/KMS: Kernel graphics drivers from 3.15 I Radeon

I (Nouveau wedges halfway through boot — workin’ on it!)

Graphics

I DRM/KMS: Kernel graphics drivers from Linux 3.15

I Intel, up through Haswell I (Nouveau wedges halfway through boot — workin’ on it!)

Graphics

I DRM/KMS: Kernel graphics drivers from Linux 3.15

I Intel, up through Haswell

I Radeon Graphics

I DRM/KMS: Kernel graphics drivers from Linux 3.15

I Intel, up through Haswell

I Radeon

I (Nouveau wedges halfway through boot — workin’ on it!) I I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: , Cubietruck I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember.

I ARM SoCs:

I EABI (and OABI compat)

I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I Raspberry Pi I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember.

I EABI (and OABI compat)

I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I ARM SoCs: I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember.

I EABI (and OABI compat)

I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I ARM SoCs:

I Raspberry Pi I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember.

I EABI (and OABI compat)

I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I ARM SoCs:

I Raspberry Pi I . . . and Raspberry Pi 2 I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember.

I EABI (and OABI compat)

I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I ARM SoCs:

I Raspberry Pi I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember.

I EABI (and OABI compat)

I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I ARM SoCs:

I Raspberry Pi I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember.

I EABI (and OABI compat)

I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I ARM SoCs:

I Raspberry Pi I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Marvell Armada 370: Mirabox I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember.

I EABI (and OABI compat)

I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I ARM SoCs:

I Raspberry Pi I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I . . . and more than I can remember.

I EABI (and OABI compat)

I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I ARM SoCs:

I Raspberry Pi I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I EABI (and OABI compat)

I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I ARM SoCs:

I Raspberry Pi I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember. I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I ARM SoCs:

I Raspberry Pi I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember.

I EABI (and OABI compat) I . . . and wonderful architecture names like earmv7hf (earmuffs?).

ARM

I Multiprocessor ARM! I ARM SoCs:

I Raspberry Pi I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember.

I EABI (and OABI compat)

I Hard-float with VFP and NEON ARM

I Multiprocessor ARM! I ARM SoCs:

I Raspberry Pi I . . . and Raspberry Pi 2 I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black I Allwinner A10, A20, A31: Cubieboard, Cubietruck I Marvell Armada 370: Mirabox I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker I Xilinx Zynq: Parallela, ZEDBOARD I . . . and more than I can remember.

I EABI (and OABI compat)

I Hard-float with VFP and NEON

I . . . and wonderful architecture names like earmv7hf (earmuffs?). I Clang/LLVM on , PowerPC, ARM

I Fully BSD-licensed C/C++ runtime from compiler rt, libc++, libcxxrt

Toolchain

I GCC 4.8, including C++11 I Fully BSD-licensed C/C++ runtime from compiler rt, libc++, libcxxrt

Toolchain

I GCC 4.8, including C++11

I Clang/LLVM on x86, PowerPC, ARM Toolchain

I GCC 4.8, including C++11

I Clang/LLVM on x86, PowerPC, ARM

I Fully BSD-licensed C/C++ runtime from compiler rt, libc++, libcxxrt I Major improvements to npf, the scalable NetBSD Packet Filter, since its preliminary release in NetBSD 6

I npf now uses JIT-compiled bpf programs for filtering decisions

I Multiprocessor USB stack

Miscellaneous 1

I bpf just-in-time native-code compiler I npf now uses JIT-compiled bpf programs for filtering decisions

I Multiprocessor USB stack

Miscellaneous 1

I bpf just-in-time native-code compiler

I Major improvements to npf, the scalable NetBSD Packet Filter, since its preliminary release in NetBSD 6 I Multiprocessor USB stack

Miscellaneous 1

I bpf just-in-time native-code compiler

I Major improvements to npf, the scalable NetBSD Packet Filter, since its preliminary release in NetBSD 6

I npf now uses JIT-compiled bpf programs for filtering decisions Miscellaneous 1

I bpf just-in-time native-code compiler

I Major improvements to npf, the scalable NetBSD Packet Filter, since its preliminary release in NetBSD 6

I npf now uses JIT-compiled bpf programs for filtering decisions

I Multiprocessor USB stack I Constant-time comparison and guaranteed zeroing for crypto: consttime memequal, explicit memset.

I No more RC4! arc4random now uses ChaCha20.

I DTrace on ARM, profiler probes and more

I Many other improvements, new and improved drivers, updated third-party code.

Miscellaneous 2

I New port: epoc32 I No more RC4! arc4random now uses ChaCha20.

I DTrace on ARM, profiler probes and more

I Many other improvements, new and improved drivers, updated third-party code.

Miscellaneous 2

I New port: epoc32

I Constant-time comparison and guaranteed zeroing for crypto: consttime memequal, explicit memset. I DTrace on ARM, profiler probes and more

I Many other improvements, new and improved drivers, updated third-party code.

Miscellaneous 2

I New port: epoc32

I Constant-time comparison and guaranteed zeroing for crypto: consttime memequal, explicit memset.

I No more RC4! arc4random now uses ChaCha20. I Many other improvements, new and improved drivers, updated third-party code.

Miscellaneous 2

I New port: epoc32

I Constant-time comparison and guaranteed zeroing for crypto: consttime memequal, explicit memset.

I No more RC4! arc4random now uses ChaCha20.

I DTrace on ARM, profiler probes and more Miscellaneous 2

I New port: epoc32

I Constant-time comparison and guaranteed zeroing for crypto: consttime memequal, explicit memset.

I No more RC4! arc4random now uses ChaCha20.

I DTrace on ARM, profiler probes and more

I Many other improvements, new and improved drivers, updated third-party code. I So far: MP-safe layer-2

I bridge(4) I wm(4) (Intel ) I vioif(4) I vmxnet3(4)

I In progress: layer-2 multiqueue CPU distribution I In progress: scalable layer-3 routing

I DTrace on by default in kernel I Multiprocessor network stack

I NVIDIA graphics

I Newer Intel graphics from Linux 4.0: Broadwell, &c.

I ARMv8 / AArch64: 64-bit ARM

Work in progress

For 8.0, maybe for 7.1! I So far: MP-safe layer-2

I bridge(4) I wm(4) (Intel ethernet) I vioif(4) I vmxnet3(4)

I In progress: layer-2 multiqueue CPU distribution I In progress: scalable layer-3 routing

I Multiprocessor network stack

I NVIDIA graphics

I Newer Intel graphics from Linux 4.0: Broadwell, &c.

I ARMv8 / AArch64: 64-bit ARM

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernel I So far: MP-safe layer-2

I bridge(4) I wm(4) (Intel ethernet) I vioif(4) I vmxnet3(4)

I In progress: layer-2 multiqueue CPU distribution I In progress: scalable layer-3 routing

I NVIDIA graphics

I Newer Intel graphics from Linux 4.0: Broadwell, &c.

I ARMv8 / AArch64: 64-bit ARM

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernel I Multiprocessor network stack I In progress: layer-2 multiqueue CPU distribution I In progress: scalable layer-3 routing

I NVIDIA graphics

I Newer Intel graphics from Linux 4.0: Broadwell, &c.

I ARMv8 / AArch64: 64-bit ARM

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernel I Multiprocessor network stack

I So far: MP-safe layer-2

I bridge(4) I wm(4) (Intel ethernet) I vioif(4) I vmxnet3(4) I In progress: scalable layer-3 routing

I NVIDIA graphics

I Newer Intel graphics from Linux 4.0: Broadwell, &c.

I ARMv8 / AArch64: 64-bit ARM

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernel I Multiprocessor network stack

I So far: MP-safe layer-2

I bridge(4) I wm(4) (Intel ethernet) I vioif(4) I vmxnet3(4)

I In progress: layer-2 multiqueue CPU distribution I NVIDIA graphics

I Newer Intel graphics from Linux 4.0: Broadwell, &c.

I ARMv8 / AArch64: 64-bit ARM

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernel I Multiprocessor network stack

I So far: MP-safe layer-2

I bridge(4) I wm(4) (Intel ethernet) I vioif(4) I vmxnet3(4)

I In progress: layer-2 multiqueue CPU distribution I In progress: scalable layer-3 routing I Newer Intel graphics from Linux 4.0: Broadwell, &c.

I ARMv8 / AArch64: 64-bit ARM

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernel I Multiprocessor network stack

I So far: MP-safe layer-2

I bridge(4) I wm(4) (Intel ethernet) I vioif(4) I vmxnet3(4)

I In progress: layer-2 multiqueue CPU distribution I In progress: scalable layer-3 routing

I NVIDIA graphics I ARMv8 / AArch64: 64-bit ARM

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernel I Multiprocessor network stack

I So far: MP-safe layer-2

I bridge(4) I wm(4) (Intel ethernet) I vioif(4) I vmxnet3(4)

I In progress: layer-2 multiqueue CPU distribution I In progress: scalable layer-3 routing

I NVIDIA graphics

I Newer Intel graphics from Linux 4.0: Broadwell, &c. Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernel I Multiprocessor network stack

I So far: MP-safe layer-2

I bridge(4) I wm(4) (Intel ethernet) I vioif(4) I vmxnet3(4)

I In progress: layer-2 multiqueue CPU distribution I In progress: scalable layer-3 routing

I NVIDIA graphics

I Newer Intel graphics from Linux 4.0: Broadwell, &c.

I ARMv8 / AArch64: 64-bit ARM