netbsd work-in-progress

43
NetBSD Work-in-Progress Taylor ‘Riastradh’ Campbell [email protected] AsiaBSDcon 2015 Tokyo, Japan March 15, 2015

Upload: duongdiep

Post on 01-Jan-2017

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NetBSD Work-in-Progress

NetBSD Work-in-Progress

Taylor ‘Riastradh’ [email protected]

AsiaBSDcon 2015Tokyo, Japan

March 15, 2015

Page 2: NetBSD Work-in-Progress

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?)

Page 3: NetBSD Work-in-Progress

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?)

Page 4: NetBSD Work-in-Progress

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?)

Page 5: NetBSD Work-in-Progress

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?)

Page 6: NetBSD Work-in-Progress

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!)

Page 7: NetBSD Work-in-Progress

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!)

Page 8: NetBSD Work-in-Progress

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!)

Page 9: NetBSD Work-in-Progress

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!)

Page 10: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!

I ARM SoCs:

I Raspberry PiI . . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 11: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

I Raspberry PiI . . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 12: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

I Raspberry Pi

I . . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 13: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

I Raspberry PiI . . . and Raspberry Pi 2

I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 14: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

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

I Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 15: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

I Raspberry PiI . . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, Cubietruck

I Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 16: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

I Raspberry PiI . . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: Mirabox

I Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 17: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

I Raspberry PiI . . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, Netwalker

I Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 18: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

I Raspberry PiI . . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI 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?).

Page 19: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

I Raspberry PiI . . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 20: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

I Raspberry PiI . . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 21: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

I Raspberry PiI . . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 22: NetBSD Work-in-Progress

ARM

I Multiprocessor ARM!I ARM SoCs:

I Raspberry PiI . . . and Raspberry Pi 2I TI OMAP, Sitara: Beagleboard, Beaglebone, BB BlackI Allwinner A10, A20, A31: Cubieboard, CubietruckI Marvell Armada 370: MiraboxI Freescale i.MX50, i.MX51, i.MX6: KOBO, NetwalkerI Xilinx Zynq: Parallela, ZEDBOARDI . . . 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?).

Page 23: NetBSD Work-in-Progress

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

Page 24: NetBSD Work-in-Progress

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

Page 25: NetBSD Work-in-Progress

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

Page 26: NetBSD Work-in-Progress

Miscellaneous 1

I bpf just-in-time native-code compiler

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

I npf now uses JIT-compiled bpf programs for filteringdecisions

I Multiprocessor USB stack

Page 27: NetBSD Work-in-Progress

Miscellaneous 1

I bpf just-in-time native-code compiler

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

I npf now uses JIT-compiled bpf programs for filteringdecisions

I Multiprocessor USB stack

Page 28: NetBSD Work-in-Progress

Miscellaneous 1

I bpf just-in-time native-code compiler

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

I npf now uses JIT-compiled bpf programs for filteringdecisions

I Multiprocessor USB stack

Page 29: NetBSD Work-in-Progress

Miscellaneous 1

I bpf just-in-time native-code compiler

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

I npf now uses JIT-compiled bpf programs for filteringdecisions

I Multiprocessor USB stack

Page 30: NetBSD Work-in-Progress

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.

Page 31: NetBSD Work-in-Progress

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.

Page 32: NetBSD Work-in-Progress

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.

Page 33: NetBSD Work-in-Progress

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.

Page 34: NetBSD Work-in-Progress

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.

Page 35: NetBSD Work-in-Progress

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernelI Multiprocessor network stack

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

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

Page 36: NetBSD Work-in-Progress

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-2I bridge(4)I wm(4) (Intel ethernet)I vioif(4)I vmxnet3(4)

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

Page 37: NetBSD Work-in-Progress

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernelI Multiprocessor network stack

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

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

Page 38: NetBSD Work-in-Progress

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernelI Multiprocessor network stack

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

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

Page 39: NetBSD Work-in-Progress

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernelI Multiprocessor network stack

I So far: MP-safe layer-2I 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

Page 40: NetBSD Work-in-Progress

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernelI Multiprocessor network stack

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

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

Page 41: NetBSD Work-in-Progress

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernelI Multiprocessor network stack

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

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

Page 42: NetBSD Work-in-Progress

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernelI Multiprocessor network stack

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

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

Page 43: NetBSD Work-in-Progress

Work in progress

For 8.0, maybe for 7.1!

I DTrace on by default in kernelI Multiprocessor network stack

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

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