NetBSD Work-in-Progress
Taylor ‘Riastradh’ Campbell
riastradh@NetBSD.org

AsiaBSDcon 2015
Tokyo, Japan
March 15, 2015

NetBSD 7

Coming soon to a mirror near you!

(Next month?)

NetBSD 7

Coming soon to a mirror near you!
I NetBSD 7: The graphics 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(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?)

Graphics

I DRM/KMS: Kernel graphics drivers from Linux 3.15

Graphics

I DRM/KMS: Kernel graphics drivers from Linux 3.15
I Intel, up through Haswell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!)ARM
I Multiprocessor ARM!

ARM
I Multiprocessor ARM!
I ARM SoCs:

ARM
I Multiprocessor ARM!
I ARM SoCs:IRaspberry Pi

ARM
I Multiprocessor ARM!
I ARM SoCs:
II

Raspberry Pi. . . and Raspberry Pi 2

ARM
I Multiprocessor ARM!
I ARM SoCs:

Raspberry Pi. . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB Black
I
I

ARM
I Multiprocessor ARM!
I ARM SoCs:

Raspberry Pi. . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckIIARM
I Multiprocessor ARM!
I ARM SoCs:Raspberry Pi. . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, Cubietruck
I Marvell Armada 370: Mirabox
IIARM
I Multiprocessor ARM!
I ARM SoCs:Raspberry Pi. . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, Cubietruck
I Marvell Armada 370: Mirabox
I Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker
IIARM
I Multiprocessor ARM!
I ARM SoCs:Raspberry Pi. . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI 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, ZEDBOARDIIARM
I Multiprocessor ARM!
I ARM SoCs:Raspberry Pi. . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI 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.
IIARM
I Multiprocessor ARM!
I ARM SoCs:

Raspberry Pi. . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI 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.
II

I EABI (and OABI compat)

ARM
I Multiprocessor ARM!
I ARM SoCs:Raspberry Pi. . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI 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.
II

I EABI (and OABI compat)
I Hard-float with VFP and NEON

ARM
I Multiprocessor ARM!
I ARM SoCs:Raspberry Pi. . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI 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.
II

I EABI (and OABI compat)
I Hard-float with VFP and NEON
I . . . and wonderful architecture names like earmv7hf(earmuffs?).

Toolchain

I GCC 4.8, including C++11

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

Miscellaneous 1

I bpf just-in-time native-code compiler

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

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Miscellaneous 2

I New port: epoc32

Miscellaneous 2

I New port: epoc32
I Constant-time comparison and guaranteed zeroing for crypto:

consttime memequal, explicit memset.

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.

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.

Work in progress
For 8.0, maybe for 7.1!

Work in progress
For 8.0, maybe for 7.1!
I DTrace on by default in kernel

Work in progress
For 8.0, maybe for 7.1!
I DTrace on by default in kernel
I Multiprocessor network stackWork in progress
For 8.0, maybe for 7.1!
I DTrace on by default in kernel
I Multiprocessor network stack
ISo far: MP-safe layer-2
I

bridge(4)wm(4) (Intel ethernet)
I vioif(4)I vmxnet3(4)IWork in progress
For 8.0, maybe for 7.1!
I DTrace on by default in kernel
I Multiprocessor network stack
ISo far: MP-safe layer-2
Ibridge(4)wm(4) (Intel ethernet)
I vioif(4)I vmxnet3(4)II

In progress: layer-2 multiqueue CPU distribution

Work in progress
For 8.0, maybe for 7.1!
I DTrace on by default in kernel
I Multiprocessor network stack
ISo far: MP-safe layer-2
Ibridge(4)wm(4) (Intel ethernet)
I vioif(4)I vmxnet3(4)III

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

Work in progress
For 8.0, maybe for 7.1!
I DTrace on by default in kernel
I Multiprocessor network stackI

So far: MP-safe layer-2
Ibridge(4)wm(4) (Intel ethernet)
I vioif(4)I vmxnet3(4)III

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

I NVIDIA graphics

Work in progress
For 8.0, maybe for 7.1!
I DTrace on by default in kernel
I Multiprocessor network stackI

So far: MP-safe layer-2
I

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

In progress: layer-2 multiqueue CPU distribution
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 stackI

So far: MP-safe layer-2
Ibridge(4)wm(4) (Intel ethernet)
I vioif(4)I vmxnet3(4)III

In progress: layer-2 multiqueue CPU distribution
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