Managing and Developing Dynamically Loadable Kernel Modules

Managing and Developing Dynamically Loadable Kernel Modules
Developing Dynamically Loadable Kernel Modules
Chapter 12536
system File Definition
Every DLKM module requires a system file. The system file includes the
following mandatory section keyword and four optional section
keywords:
$VERSION – (mandatory) indicates the version number for the file
format. Version is defined as an integer and starts from one. Version 1
is the only supported file format for PA systems. Version 2 is a
supported file format for Itanium Processor Family (IPF) Boot Time
Loaded modules. If Version is 2 in the master and system files the
phases keyword in the master file, and the $LOADPHASE keyword
in the system file need to be specified.
NOTE The version number for the master file and system file must be the
same.
$CONFIGURE – (optional) indicates if the module needs to be
configured into the system. If $CONFIGURE is Y or y, the module will be
configured on the next build; if $CONFIGURE is N or n, the module will
not be configured on the next build. kmsystem (1M) provides the
interface to modify the flag. The absence of t his section implies a
value of n.
$LOADABLE (optional) indicates how the module will be configured. If
$LOADABLE is Y or y, the module will be configured as a dynamically
configured loadable module; if $LOADABLE is N or n, the module will be
statically linked into the kernel, requiring a reboot. kmsystem
provides the interface to modify the flag. The absence of this section
implies a value of n.
NOTE If $CONFIGURE is N or n, $LOADABLE is ignored.
If the master file for the module does not have a $LOADABLE section,
then the system file should not have one either.
$LOADPHASE-indicates the planned loading phase that will be used for
the next configuration of that module. Once the module is configured
and registered with the kernel, it will be used to initialize the
configured loading phase. The value of this attribute indicates