[Previous] - [Main menu] - [Next]
Revision 1.1

Hardware Support Fileformat

Published 5th of January 1999
by Lasse Krogh Thygesen


Purpose

This document describes the format for the hardware support files. These files will contain the code used to drive hardware components and/or handle interrupt requests from hardware components. The hardware support files can theoretically contain an unlimited number of drivers, ie. for multifunction adapters, but the number has been limited to 256. To put more than 256 drivers into one file would only make the file too big and complex. It will be recommended to use only one file per hardware component. Drivers for multifunction hardware may contain more drivers.


File Format Specification

File header

The file header contains information about file format id, publication date, offset for the fileinformation header and an offset for the segment offset list.

Hardware Support Fileformat
File Header
OffsetSizeDescription
0000h - 0001h2Fileformat major group id
0002h - 0003h2Fileformat minor group id
0004h - 0005h2Fileformat id
0006h - 0007h2Fileformat revision
0008h - 000Eh7Publication date (DD-MM-YYYY TT:MM:SS)
000Fh - 000Fh1Reserved
0010h - 0013h4Offset to the file information header
0014h - 0017h4Offset to segment offset list
0018h - 0018h1Number of segments in the file
0019h - 01FFh485Reserved


File Information Header

This is a standard area which contains information about vendor, copyright, revision number, original name, language ect..

Segment Offset List

This is a list containing 32 bit pointers to all the segments in this file. Each of these segments has a segment header which contains additional information about the hardware requirements (ex. IRQ or DMA lines).

Segment Header

Each segment in the Hardware Support file, has an Segment Header:

Header for each code segment
OffsetSizeDescription
0000h - 0001h2Vendor ID
0002h - 0003h2Vendors Device ID
0004h - 0005h2Revision
0006h - 0006h18 bit DMA request
0007h - 0007h116 bit DMA request
0008h - 000Fh8Reserved
0010h - 002Fh32Device name
0030h - 006Fh64Description
0070h - 0073h4Length
0074h - 01FFh396Reserved

Vendor ID
The hardware manufactors Vendor ID. If the Vendor ID and Device ID doesn't match the driver can't be used. Be aware that this is the on indenfication the system may use.

Device ID
This the device ID set by the manufactor. If the Vendor ID and Device ID doesn't match the driver can't be used. Be aware that this is the on indenfication the system may use.

Revision
May be used by to choose the most up to date version.

8 bit DMA request
The number of 8 bit DMA lines the handler may request from the system.

16 bit DMA request
The number of 16 bit DMA lines the handler may request from the system.

Device name
Trade name of the device.

Description
Longer description of the device.

Length
The length of this code segment.


Changes from previous revision