index
:
linux-yocto
master
v4.14/base
v4.14/standard/arm-versatile-926ejs
v4.14/standard/base
v4.14/standard/beaglebone
v4.14/standard/edgerouter
v4.14/standard/fsl-mpc8315e-rdb
v4.14/standard/intel
v4.14/standard/mti-malta32
v4.14/standard/mti-malta64
v4.14/standard/preempt-rt/base
v4.14/standard/preempt-rt/intel
v4.14/standard/qemuarm64
v4.14/standard/qemuppc
v4.14/standard/tiny/base
v4.14/standard/tiny/common-pc
v4.14/standard/tiny/intel
v4.15/base
v4.15/standard/arm-versatile-926ejs
v4.15/standard/base
v4.15/standard/beaglebone
v4.15/standard/edgerouter
v4.15/standard/fsl-mpc8315e-rdb
v4.15/standard/intel
v4.15/standard/mti-malta32
v4.15/standard/mti-malta64
v4.15/standard/preempt-rt/base
v4.15/standard/preempt-rt/intel
v4.15/standard/qemuarm64
v4.15/standard/qemuppc
v4.15/standard/tiny/arm-versatile-926ejs
v4.15/standard/tiny/base
v4.15/standard/tiny/common-pc
v4.15/standard/tiny/intel
v4.18/base
v4.18/standard/arm-versatile-926ejs
v4.18/standard/base
v4.18/standard/beaglebone
v4.18/standard/edgerouter
v4.18/standard/fsl-mpc8315e-rdb
v4.18/standard/intel
v4.18/standard/intel-socfpga
v4.18/standard/intel-x86
v4.18/standard/mti-malta32
v4.18/standard/mti-malta64
v4.18/standard/preempt-rt/base
v4.18/standard/preempt-rt/intel
v4.18/standard/preempt-rt/intel-x86
v4.18/standard/qemuarm64
v4.18/standard/qemuppc
v4.18/standard/tiny/arm-versatile-926ejs
v4.18/standard/tiny/base
v4.18/standard/tiny/common-pc
v4.18/standard/tiny/intel
v4.19/base
v4.19/standard/arm-versatile-926ejs
v4.19/standard/axxia
v4.19/standard/base
v4.19/standard/beaglebone
v4.19/standard/edgerouter
v4.19/standard/fsl-mpc8315e-rdb
v4.19/standard/intel
v4.19/standard/intel-x86
v4.19/standard/mti-malta32
v4.19/standard/mti-malta64
v4.19/standard/preempt-rt/axxia
v4.19/standard/preempt-rt/base
v4.19/standard/preempt-rt/intel
v4.19/standard/preempt-rt/intel-x86
v4.19/standard/qemuarm64
v4.19/standard/qemuppc
v4.19/standard/tiny/arm-versatile-926ejs
v4.19/standard/tiny/base
v4.19/standard/tiny/common-pc
v4.19/standard/tiny/intel
v4.19/standard/tiny/intel-x86
v4.19/standard/xlnx-soc
v4.8/base
v4.8/standard/arm-versatile-926ejs
v4.8/standard/base
v4.8/standard/beaglebone
v4.8/standard/edgerouter
v4.8/standard/fsl-mpc8315e-rdb
v4.8/standard/intel
v4.8/standard/mti-malta32
v4.8/standard/mti-malta64
v4.8/standard/preempt-rt/base
v4.8/standard/preempt-rt/intel
v4.8/standard/qemuarm64
v4.8/standard/qemuppc
v4.8/standard/tiny/base
v4.8/standard/tiny/common-pc
v4.8/standard/tiny/intel
v5.0/base
v5.0/standard/arm-versatile-926ejs
v5.0/standard/base
v5.0/standard/beaglebone
v5.0/standard/edgerouter
v5.0/standard/fsl-mpc8315e-rdb
v5.0/standard/intel-x86
v5.0/standard/mti-malta32
v5.0/standard/mti-malta64
v5.0/standard/preempt-rt/base
v5.0/standard/preempt-rt/intel-x86
v5.0/standard/qemuarm64
v5.0/standard/qemuppc
v5.0/standard/tiny/arm-versatile-926ejs
v5.0/standard/tiny/base
v5.0/standard/tiny/common-pc
v5.0/standard/tiny/intel-x86
v5.0/standard/xilinx-zynqmp
v5.10/base
v5.10/standard/arm-versatile-926ejs
v5.10/standard/base
v5.10/standard/bcm-2xxx-rpi
v5.10/standard/beaglebone
v5.10/standard/cn-sdkv4.18/cn96xx
v5.10/standard/cn-sdkv5.4/octeon
v5.10/standard/edgerouter
v5.10/standard/fsl-mpc8315e-rdb
v5.10/standard/intel-sdk-5.10/intel-socfpga
v5.10/standard/mti-malta32
v5.10/standard/mti-malta64
v5.10/standard/nxp-ls20xx
v5.10/standard/nxp-sdk-5.10/nxp-s32g2xx
v5.10/standard/nxp-sdk-5.10/nxp-soc
v5.10/standard/preempt-rt/base
v5.10/standard/preempt-rt/bcm-2xxx-rpi
v5.10/standard/preempt-rt/cn-sdkv4.18/cn96xx
v5.10/standard/preempt-rt/cn-sdkv5.4/octeon
v5.10/standard/preempt-rt/intel-sdk-5.10/intel-socfpga
v5.10/standard/preempt-rt/nxp-sdk-5.10/nxp-s32g2xx
v5.10/standard/preempt-rt/nxp-sdk-5.10/nxp-soc
v5.10/standard/preempt-rt/sdkv5.10/axxia
v5.10/standard/preempt-rt/sdkv5.10/xlnx-soc
v5.10/standard/preempt-rt/ti-sdk-5.10/ti-j72xx
v5.10/standard/preempt-rt/x86
v5.10/standard/qemuarm64
v5.10/standard/qemuppc
v5.10/standard/sdkv5.10/axxia
v5.10/standard/sdkv5.10/xlnx-soc
v5.10/standard/sdkv5.4/xlnx-soc
v5.10/standard/ti-am335x
v5.10/standard/ti-sdk-5.10/ti-j72xx
v5.10/standard/tiny/arm-versatile-926ejs
v5.10/standard/tiny/base
v5.10/standard/tiny/common-pc
v5.10/standard/tiny/x86
v5.10/standard/x86
v5.10/standard/xilinx-zynqmp
v5.13/base
v5.13/standard/arm-versatile-926ejs
v5.13/standard/base
v5.13/standard/bcm-2xxx-rpi
v5.13/standard/beaglebone
v5.13/standard/edgerouter
v5.13/standard/fsl-mpc8315e-rdb
v5.13/standard/mti-malta32
v5.13/standard/mti-malta64
v5.13/standard/nxp-ls20xx
v5.13/standard/preempt-rt/base
v5.13/standard/preempt-rt/bcm-2xxx-rpi
v5.13/standard/preempt-rt/x86
v5.13/standard/qemuarm64
v5.13/standard/qemuppc
v5.13/standard/ti-am335x
v5.13/standard/tiny/arm-versatile-926ejs
v5.13/standard/tiny/base
v5.13/standard/tiny/common-pc
v5.13/standard/tiny/x86
v5.13/standard/x86
v5.13/standard/xilinx-zynqmp
v5.14/base
v5.14/standard/arm-versatile-926ejs
v5.14/standard/base
v5.14/standard/bcm-2xxx-rpi
v5.14/standard/beaglebone
v5.14/standard/edgerouter
v5.14/standard/fsl-mpc8315e-rdb
v5.14/standard/mti-malta32
v5.14/standard/mti-malta64
v5.14/standard/nxp-ls20xx
v5.14/standard/preempt-rt/base
v5.14/standard/preempt-rt/bcm-2xxx-rpi
v5.14/standard/preempt-rt/x86
v5.14/standard/qemuarm64
v5.14/standard/qemuppc
v5.14/standard/ti-am335x
v5.14/standard/tiny/arm-versatile-926ejs
v5.14/standard/tiny/base
v5.14/standard/tiny/common-pc
v5.14/standard/tiny/x86
v5.14/standard/x86
v5.14/standard/xilinx-zynqmp
v5.15/base
v5.15/standard/arm-versatile-926ejs
v5.15/standard/base
v5.15/standard/bcm-2xxx-rpi
v5.15/standard/beaglebone
v5.15/standard/cn-sdkv5.15/octeon
v5.15/standard/cn-sdkv5.4/octeon
v5.15/standard/edgerouter
v5.15/standard/fsl-mpc8315e-rdb
v5.15/standard/intel-sdk-5.15/intel-socfpga
v5.15/standard/mti-malta32
v5.15/standard/mti-malta64
v5.15/standard/nxp-ls20xx
v5.15/standard/nxp-sdk-5.10/nxp-s32g
v5.15/standard/nxp-sdk-5.15/nxp-s32g
v5.15/standard/nxp-sdk-5.15/nxp-soc
v5.15/standard/preempt-rt/base
v5.15/standard/preempt-rt/bcm-2xxx-rpi
v5.15/standard/preempt-rt/cn-sdkv5.15/octeon
v5.15/standard/preempt-rt/cn-sdkv5.4/octeon
v5.15/standard/preempt-rt/intel-sdk-5.15/intel-socfpga
v5.15/standard/preempt-rt/nxp-sdk-5.10/nxp-s32g
v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g
v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-soc
v5.15/standard/preempt-rt/sdkv5.10/axxia
v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc
v5.15/standard/preempt-rt/ti-sdk-5.10/ti-j72xx
v5.15/standard/preempt-rt/x86
v5.15/standard/qemuarm64
v5.15/standard/qemuppc
v5.15/standard/sdkv5.10/axxia
v5.15/standard/sdkv5.15/xlnx-soc
v5.15/standard/ti-am335x
v5.15/standard/ti-sdk-5.10/ti-j72xx
v5.15/standard/tiny/arm-versatile-926ejs
v5.15/standard/tiny/base
v5.15/standard/tiny/common-pc
v5.15/standard/tiny/x86
v5.15/standard/x86
v5.15/standard/xilinx-zynqmp
v5.19/base
v5.19/standard/arm-versatile-926ejs
v5.19/standard/base
v5.19/standard/bcm-2xxx-rpi
v5.19/standard/beaglebone
v5.19/standard/edgerouter
v5.19/standard/fsl-mpc8315e-rdb
v5.19/standard/mti-malta32
v5.19/standard/mti-malta64
v5.19/standard/nxp-ls20xx
v5.19/standard/preempt-rt/arm-versatile-926ejs
v5.19/standard/preempt-rt/base
v5.19/standard/preempt-rt/bcm-2xxx-rpi
v5.19/standard/preempt-rt/x86
v5.19/standard/qemuarm64
v5.19/standard/qemuppc
v5.19/standard/ti-am335x
v5.19/standard/tiny/arm-versatile-926ejs
v5.19/standard/tiny/base
v5.19/standard/tiny/common-pc
v5.19/standard/tiny/x86
v5.19/standard/x86
v5.19/standard/xilinx-zynqmp
v5.2-upstream
v5.2/base
v5.2/standard/arm-versatile-926ejs
v5.2/standard/base
v5.2/standard/bcm-2xxx-rpi
v5.2/standard/beaglebone
v5.2/standard/cn96xx
v5.2/standard/edgerouter
v5.2/standard/fsl-mpc8315e-rdb
v5.2/standard/intel-x86
v5.2/standard/mti-malta32
v5.2/standard/mti-malta64
v5.2/standard/preempt-rt/base
v5.2/standard/preempt-rt/cn96xx
v5.2/standard/preempt-rt/intel-x86
v5.2/standard/qemuarm64
v5.2/standard/qemuppc
v5.2/standard/tiny/arm-versatile-926ejs
v5.2/standard/tiny/base
v5.2/standard/tiny/common-pc
v5.2/standard/tiny/intel-x86
v5.2/standard/xlnx-soc
v5.3/base
v5.3/standard/base
v5.4/base
v5.4/standard/arm-versatile-926ejs
v5.4/standard/base
v5.4/standard/bcm-2xxx-rpi
v5.4/standard/beaglebone
v5.4/standard/cn96xx
v5.4/standard/edgerouter
v5.4/standard/fsl-mpc8315e-rdb
v5.4/standard/intel-x86
v5.4/standard/mti-malta32
v5.4/standard/mti-malta64
v5.4/standard/nxp-imx8
v5.4/standard/nxp-ls20xx
v5.4/standard/nxp-s32g2xx
v5.4/standard/preempt-rt/base
v5.4/standard/preempt-rt/bcm-2xxx-rpi
v5.4/standard/preempt-rt/cn96xx
v5.4/standard/preempt-rt/intel-x86
v5.4/standard/qemuarm64
v5.4/standard/qemuppc
v5.4/standard/ti-am335x
v5.4/standard/ti-j72x
v5.4/standard/tiny/arm-versatile-926ejs
v5.4/standard/tiny/base
v5.4/standard/tiny/common-pc
v5.4/standard/tiny/intel-x86
v5.4/standard/xilinx-zynqmp
v5.4/standard/xlnx-soc
v5.6/base
v5.6/standard/arm-versatile-926ejs
v5.6/standard/base
v5.6/standard/bcm-2xxx-rpi
v5.6/standard/beaglebone
v5.6/standard/cn96xx
v5.6/standard/edgerouter
v5.6/standard/fsl-mpc8315e-rdb
v5.6/standard/intel-x86
v5.6/standard/mti-malta32
v5.6/standard/mti-malta64
v5.6/standard/nxp-ls20xx
v5.6/standard/preempt-rt/base
v5.6/standard/preempt-rt/bcm-2xxx-rpi
v5.6/standard/preempt-rt/intel-x86
v5.6/standard/qemuarm64
v5.6/standard/qemuppc
v5.6/standard/ti-am335x
v5.6/standard/tiny/arm-versatile-926ejs
v5.6/standard/tiny/base
v5.6/standard/tiny/common-pc
v5.6/standard/tiny/intel-x86
v5.6/standard/xilinx-zynqmp
v5.6/standard/xlnx-soc
v5.7/base
v5.7/standard/arm-versatile-926ejs
v5.7/standard/base
v5.7/standard/bcm-2xxx-rpi
v5.7/standard/beaglebone
v5.7/standard/cn96xx
v5.7/standard/edgerouter
v5.7/standard/fsl-mpc8315e-rdb
v5.7/standard/intel-x86
v5.7/standard/mti-malta32
v5.7/standard/mti-malta64
v5.7/standard/nxp-ls20xx
v5.7/standard/preempt-rt/base
v5.7/standard/preempt-rt/bcm-2xxx-rpi
v5.7/standard/preempt-rt/intel-x86
v5.7/standard/qemuarm64
v5.7/standard/qemuppc
v5.7/standard/ti-am335x
v5.7/standard/tiny/arm-versatile-926ejs
v5.7/standard/tiny/base
v5.7/standard/tiny/common-pc
v5.7/standard/tiny/intel-x86
v5.7/standard/xilinx-zynqmp
v5.7/standard/xlnx-soc
v5.8/base
v5.8/standard/arm-versatile-926ejs
v5.8/standard/base
v5.8/standard/bcm-2xxx-rpi
v5.8/standard/beaglebone
v5.8/standard/edgerouter
v5.8/standard/fsl-mpc8315e-rdb
v5.8/standard/intel-x86
v5.8/standard/mti-malta32
v5.8/standard/mti-malta64
v5.8/standard/nxp-ls20xx
v5.8/standard/preempt-rt/base
v5.8/standard/preempt-rt/bcm-2xxx-rpi
v5.8/standard/preempt-rt/intel-x86
v5.8/standard/qemuarm64
v5.8/standard/qemuppc
v5.8/standard/ti-am335x
v5.8/standard/tiny/arm-versatile-926ejs
v5.8/standard/tiny/base
v5.8/standard/tiny/common-pc
v5.8/standard/tiny/intel-x86
v5.8/standard/xilinx-zynqmp
v6.1/base
v6.1/standard/arm-versatile-926ejs
v6.1/standard/base
v6.1/standard/bcm-2xxx-rpi
v6.1/standard/beaglebone
v6.1/standard/cn-sdkv5.15/octeon
v6.1/standard/cn-sdkv6.1/octeon
v6.1/standard/edgerouter
v6.1/standard/fsl-mpc8315e-rdb
v6.1/standard/intel-sdk-6.1/intel-socfpga
v6.1/standard/microchip-polarfire-soc
v6.1/standard/mti-malta32
v6.1/standard/mti-malta64
v6.1/standard/nxp-ls20xx
v6.1/standard/nxp-sdk-5.15/nxp-s32g
v6.1/standard/nxp-sdk-6.1/nxp-soc
v6.1/standard/preempt-rt/arm-versatile-926ejs
v6.1/standard/preempt-rt/base
v6.1/standard/preempt-rt/bcm-2xxx-rpi
v6.1/standard/preempt-rt/cn-sdkv5.15/octeon
v6.1/standard/preempt-rt/cn-sdkv6.1/octeon
v6.1/standard/preempt-rt/intel-sdk-6.1/intel-socfpga
v6.1/standard/preempt-rt/microchip-polarfire-soc
v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc
v6.1/standard/preempt-rt/sdkv5.10/axxia
v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc
v6.1/standard/preempt-rt/ti-sdk-5.10/ti-j7xxx
v6.1/standard/preempt-rt/ti-sdk-6.1/ti-j7xxx
v6.1/standard/preempt-rt/x86
v6.1/standard/qemuarm64
v6.1/standard/qemuppc
v6.1/standard/sdkv5.10/axxia
v6.1/standard/sdkv6.1/xlnx-soc
v6.1/standard/ti-am335x
v6.1/standard/ti-sdk-5.10/ti-j7xxx
v6.1/standard/ti-sdk-6.1/ti-j7xxx
v6.1/standard/tiny/arm-versatile-926ejs
v6.1/standard/tiny/base
v6.1/standard/tiny/common-pc
v6.1/standard/tiny/x86
v6.1/standard/x86
v6.1/standard/xilinx-zynqmp
v6.4/base
v6.4/standard/arm-versatile-926ejs
v6.4/standard/base
v6.4/standard/bcm-2xxx-rpi
v6.4/standard/beaglebone
v6.4/standard/edgerouter
v6.4/standard/fsl-mpc8315e-rdb
v6.4/standard/mti-malta32
v6.4/standard/mti-malta64
v6.4/standard/nxp-ls20xx
v6.4/standard/preempt-rt/arm-versatile-926ejs
v6.4/standard/preempt-rt/base
v6.4/standard/preempt-rt/bcm-2xxx-rpi
v6.4/standard/preempt-rt/x86
v6.4/standard/qemuarm64
v6.4/standard/qemuppc
v6.4/standard/ti-am335x
v6.4/standard/tiny/arm-versatile-926ejs
v6.4/standard/tiny/base
v6.4/standard/tiny/common-pc
v6.4/standard/tiny/x86
v6.4/standard/x86
v6.4/standard/xilinx-zynqmp
v6.5/base
v6.5/standard/arm-versatile-926ejs
v6.5/standard/base
v6.5/standard/bcm-2xxx-rpi
v6.5/standard/beaglebone
v6.5/standard/edgerouter
v6.5/standard/fsl-mpc8315e-rdb
v6.5/standard/mti-malta32
v6.5/standard/mti-malta64
v6.5/standard/nxp-ls20xx
v6.5/standard/preempt-rt/arm-versatile-926ejs
v6.5/standard/preempt-rt/base
v6.5/standard/preempt-rt/bcm-2xxx-rpi
v6.5/standard/preempt-rt/x86
v6.5/standard/qemuarm64
v6.5/standard/qemuppc
v6.5/standard/ti-am335x
v6.5/standard/tiny/arm-versatile-926ejs
v6.5/standard/tiny/base
v6.5/standard/tiny/common-pc
v6.5/standard/tiny/x86
v6.5/standard/x86
v6.5/standard/xilinx-zynqmp
v6.6/base
v6.6/standard/arm-versatile-926ejs
v6.6/standard/base
v6.6/standard/bcm-2xxx-rpi
v6.6/standard/beaglebone
v6.6/standard/edgerouter
v6.6/standard/fsl-mpc8315e-rdb
v6.6/standard/mti-malta32
v6.6/standard/mti-malta64
v6.6/standard/nxp-ls20xx
v6.6/standard/nxp-sdk-6.6/nxp-soc
v6.6/standard/preempt-rt/arm-versatile-926ejs
v6.6/standard/preempt-rt/base
v6.6/standard/preempt-rt/bcm-2xxx-rpi
v6.6/standard/preempt-rt/nxp-sdk-6.6/nxp-soc
v6.6/standard/preempt-rt/sdkv5.15/axxia
v6.6/standard/preempt-rt/sdkv6.6/xlnx-soc
v6.6/standard/preempt-rt/ti-sdk-6.6/ti-soc
v6.6/standard/preempt-rt/x86
v6.6/standard/qemuarm64
v6.6/standard/qemuppc
v6.6/standard/sdkv5.15/axxia
v6.6/standard/sdkv6.6/xlnx-soc
v6.6/standard/ti-am335x
v6.6/standard/ti-sdk-6.6/ti-soc
v6.6/standard/tiny/arm-versatile-926ejs
v6.6/standard/tiny/base
v6.6/standard/tiny/common-pc
v6.6/standard/tiny/x86
v6.6/standard/x86
v6.6/standard/xilinx-zynqmp
Yocto Linux Embedded kernel
Grokmirror user
about
summary
refs
log
tree
commit
diff
stats
log msg
author
committer
range
path:
root
/
arch
/
arm
/
vdso
Age
Commit message (
Expand
)
Author
2019-07-17
kbuild: add --hash-style= and --build-id unconditionally
Masahiro Yamada
2019-07-08
Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
Linus Torvalds
2019-07-08
Merge branches 'fixes' and 'misc'
Russell King
2019-06-21
Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
Linus Torvalds
2019-06-20
ARM: 8860/1: VDSO: Drop implicit common-page-size linker flag
Nick Desaulniers
2019-06-20
ARM: 8867/1: vdso: pass --be8 to linker if necessary
Jason A. Donenfeld
2019-06-19
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234
Thomas Gleixner
2019-06-05
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340
Thomas Gleixner
2019-05-16
Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
Linus Torvalds
2019-04-30
ARM: vdso: Remove dependency with the arch_timer driver internals
Marc Zyngier
2019-04-23
ARM: 8858/1: vdso: use $(LD) instead of $(CC) to link VDSO
Masahiro Yamada
2018-06-15
arm: port KCOV to arm
Dmitry Vyukov
2017-11-07
Merge branch 'linus' into locking/core, to resolve conflicts
Ingo Molnar
2017-11-02
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Greg Kroah-Hartman
2017-10-25
locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns ...
Mark Rutland
2016-04-20
kbuild: drop FORCE from PHONY targets
Masahiro Yamada
2016-02-22
ARM/vdso: Mark the vDSO code read-only after init
David Brown
2015-10-29
ARM: 8449/1: fix bug in vdsomunge swab32 macro
H. Nikolaus Schaller
2015-10-19
ARM: 8445/1: fix vdsomunge not to depend on glibc specific byteswap.h
H. Nikolaus Schaller
2015-07-31
ARM: 8405/1: VDSO: fix regression with toolchains lacking ld.bfd executable
Nathan Lynch
2015-07-07
Merge branches 'fixes' and 'ioremap' into for-linus
Russell King
2015-07-03
ARM: 8397/1: fix vdsomunge not to depend on glibc specific error.h
Szabolcs Nagy
2015-06-06
ARM: 8384/1: VDSO: force use of BFD linker
Nathan Lynch
2015-06-06
ARM: 8385/1: VDSO: group link options
Nathan Lynch
2015-04-21
ARM: 8344/1: VDSO: honor CONFIG_VDSO in Makefile
Nathan Lynch
2015-04-21
ARM: 8343/1: VDSO: add build artifacts to .gitignore
Nathan Lynch
2015-03-27
ARM: 8330/1: add VDSO user-space code
Nathan Lynch