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