]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r216615,217248,217250:
authorlstewart <lstewart@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 28 May 2011 06:56:09 +0000 (06:56 +0000)
committerlstewart <lstewart@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 28 May 2011 06:56:09 +0000 (06:56 +0000)
commitf90cb3dc629c233ab51de1ba7fa25319384e98e3
tree9b6928872dd9b5d942f6d21b10d2d86484b13f9f
parenta55f32b280866b8aa4d206e098fd235d20d0e28e
MFC r216615,217248,217250:

- 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 802505 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

git-svn-id: svn://svn.freebsd.org/base/stable/8@222406 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
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