|
| |
INSTALLING DEVICE DRIVERS
DOS installs new device drivers dynamically at boot time by
reading and processing the DEVICE command in the config.sys file.
For example, if you have written a device driver called DRIVER1,
to install it put this command in the CONFIG.SYS file:
DEVICE=DRIVER1
DOS calls a device driver at its strategy entry point first,
passing in a request header the information describing what DOS
wants the device driver to do.
This strategy routine does not perform the request but rather
queues the request or saves a pointer to the request header. The
second entry point is the interrupt routine and is called by DOS
immediately after the strategy routine returns. The interrupt
routine is called with no parameters. Its function is to perform
the operation based on the queued request and set up any return
information.
DOS passes the pointer to the request header in ES:BX. This
structure consists of a fixed length header (Request Header)
followed by data pertinent to the operation to be performed.
NOTE: It is the responsibility of the device driver to
preserve the machine state. For example, save all
registers on entry and restore them on exit.
The stack used by DOS has enough room on it to save all the
registers. If more stack space is needed, it is the device
driver's responsibility to allocate and maintain another stack.
All calls to execute device drivers are FAR calls. FAR returns
should be executed to return to DOS. |