Contents
About This Manual
1
Network Device Driver Environment
1.1
Include Files Section for a Network Driver . .. . .. . .. . . .. . .. . .. . .. .
1–3
1.2
Declarations Section for a Network Driver . .. . .. . .. . . .. . .. . .. . .. .
1–4
1.2.1
External and Forward Declarations . .. . .. . .. . .. . . .. . .. . .. . .. .
1–5
1.2.2
Declaring softc and controller Data Structure Arrays .. . .. .
1–6
1.2.3
Declaring and Initializing the driver Data Structure .. . .. .
1–7
1.2.4
Defining Driver-Specific Macros . . .. . . .. . .. . .. . .. . . .. . .. . .. . .. .
1–7
1.3
Configure Section for a Network Driver . . .. . .. . .. . .. . . .. . .. . .. . .. .
1–10
1.4
Autoconfiguration Support Section for a Network Driver .. . .. .
1–10
1.5
Initialization Section for a Network Driver . .. . .. . .. . . .. . .. . .. . .. .
1–10
1.6
Start Section for a Network Driver .. . .. . . .. . .. . .. . .. . . .. . .. . .. . .. .
1–10
1.7
Watchdog Section for a Network Driver . . .. . .. . .. . .. . . .. . .. . .. . .. .
1–11
1.8
Reset Section for a Network Driver .. . .. . . .. . .. . .. . .. . . .. . .. . .. . .. .
1–11
1.9
ioctl Section for a Network Driver . . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . .. .
1–11
1.10
Interrupt Section for a Network Driver . . .. . .. . .. . .. . . .. . .. . .. . .. .
1–11
1.11
Output Section for a Network Driver . .. . . .. . .. . .. . .. . . .. . .. . .. . .. .
1–11
2
Defining Device Register Offsets
2.1
Interrupt and Status Register Offset Definitions .. . . .. . .. . .. . .. .
2–1
2.2
Command Port Register Offset Definitions . .. . .. . .. . . .. . .. . .. . .. .
2–2
2.3
Window 0 Configuration Register Offset Definitions .. . .. . .. . .. .
2–4
2.4
Window 3 Configuration Register Offset Definitions .. . .. . .. . .. .
2–7
2.5
Window 1 Operational Register Offset Definitions . . .. . .. . .. . .. .
2–9
2.6
Window 4 Diagnostic Register Offset Definitions .. . . .. . .. . .. . .. .
2–11
2.7
EEPROM Data Structure Definition . .. . . .. . .. . .. . .. . . .. . .. . .. . .. .
2–13
3
Defining the softc Data Structure
3.1
Defining Common Information . . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . .. .
3–2
3.2
Enabling Support for Enhanced Hardware Management .. . .. .
3–4
3.3
Defining Media State Information . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . .. .
3–4
3.4
Defining the Base Register . .. . .. . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . .. .
3–6
3.5
Defining Multicast Table Information .. . . .. . .. . .. . .. . . .. . .. . .. . .. .
3–6
Contents iii