]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
- Introduce the Hhook (Helper Hook) KPI. The KPI is closely modelled on pfil(9),
authorlstewart <lstewart@FreeBSD.org>
Tue, 21 Dec 2010 13:45:29 +0000 (13:45 +0000)
committerlstewart <lstewart@FreeBSD.org>
Tue, 21 Dec 2010 13:45:29 +0000 (13:45 +0000)
commitdedc1118c91f6a1864ac68ba3afb27deff664992
treed1795b16494a34c32c9b508a6fcfbf4c65150d2d
parent0fe57d1c6f569202d830abf45ec5ac8d44e7dcd8
- Introduce the Hhook (Helper Hook) KPI. The KPI is closely modelled on pfil(9),
  and in many respects can be thought of as a more generic superset of pfil.
  Hhook provides a way for kernel subsystems to export hook points that Khelp
  modules can hook to provide enhanced or new functionality to the kernel. The
  KPI has been designed to ensure hook points pose no noticeable overhead when
  no hook functions are registered.

- Introduce the Khelp (Kernel Helpers) KPI. Khelp provides a framework for
  managing Khelp modules, which indirectly use the Hhook KPI to register their
  hook functions with hook points of interest within the kernel. Khelp modules
  aim to provide a structured way to dynamically extend the kernel at runtime in
  an ABI preserving manner. Depending on the subsystem providing hook points, a
  Khelp module may be able to associate per-object data for maintaining relevant
  state between hook calls.

- pjd's Object Specific Data (OSD) KPI is used to manage the per-object data
  allocated to Khelp modules. Create a new "OSD_KHELP" OSD type for use by the
  Khelp framework.

- Bump __FreeBSD_version to 900028 to mark the introduction of the new KPIs.

In collaboration with: David Hayes <dahayes at swin edu au> and
Grenville Armitage <garmitage at swin edu au>
Sponsored by: FreeBSD Foundation
Reviewed by: bz, others along the way
MFC after: 3 months
sys/conf/files
sys/kern/kern_hhook.c [new file with mode: 0644]
sys/kern/kern_khelp.c [new file with mode: 0644]
sys/sys/hhook.h [new file with mode: 0644]
sys/sys/khelp.h [new file with mode: 0644]
sys/sys/module_khelp.h [new file with mode: 0644]
sys/sys/osd.h
sys/sys/param.h