| 12.15 Resetting the Device (SIOCIFRESET ioctl Command) | 
12.16Setting Device Characteristics (SIOCIFSETCHAR ioctl
| Command) | |
| 12.17 Releasing the Simple Lock and Resetting the IPL | 
13 Implementing the Interrupt Section
| 13.1 Implementing the el_intr Routine | ||
| 13.1.1 | Setting the IPL and Obtaining the Simple Lock | |
| 13.1.2 | Rearming the Next Timeout | |
| 13.1.3 | Reading the Interrupt Status | |
| 13.1.4 | Processing Completed Receive and Transmit Operations . | |
| 13.1.5 | Acknowledging the Interrupt | |
| 13.1.6 | Transmitting Pending Frames | |
| 13.1.7 | Releasing the Simple Lock and Resetting the IPL | |
| 13.1.8 | Indicating That the Interrupt Was Serviced | |
| 13.2 Implementing the el_rint Routine | ||
13.2.1Counting the Receive Interrupt and Reading the Receive
| 
 | Status | |
| 13.2.2 | Pulling the Packets from the FIFO Buffer | |
| 13.2.3 | Examining the First Part of the Packet | |
| 13.2.4 | Copying the Received Packet into the mbuf | |
| 13.2.5 | Discarding a Packet | |
| 13.3 Implementing the el_tint Routine | ||
| 13.3.1 | Counting the Transmit Interrupt | |
13.3.2Reading the Transmit Status and Counting All Significant
| 
 | Events | |
| 13.3.3 | Managing Excessive Data Collisions | |
| 13.3.4 | Writing to the Status Register to Obtain the Next Value .. | |
| 13.3.5 | Queuing Other Transmits | |
| 13.4 Implementing the el_error Routine | ||
14Network Device Driver Configuration
Index
Figures
| Sections of a Network Device Driver | |||
| Window 0 | Configuration Registers | ||
| Window 3 | Configuration Registers | ||
| Window 1 | Operational Registers | ||
viii Contents
