Download presentation
Presentation is loading. Please wait.
1
Using RealTek interrupts
We construct a prototype driver that supports receiving of network packets
2
Interrupt Mask Register
S E R T i m e O u t L e n C h g reserved R X F O V P U N / L C R X B O V F T E R T O K R E R O K 0x3C Legend ROK (Received OK packet) TOK (Transmit completed OK) RER (Received Error packet) TER (Transmit was aborted) RxBOvf (Receive Buffer Overflowed) SERR (System Error on PCI bus) RxFOvf (Receive FIFO Overflowed) LenChg (Cable Length changed) TimeOut (Timer Count == Timer Intr) PUN/LC (Packet Underrun/Link Changed) (0 = masked, 1=unmasked)
3
Interrupt Status Register
S E R T i m e O u t L e n C h g reserved R X F O V P U N / L C R X B O V F T E R T O K R E R O K 0x3E Legend ROK (Received OK packet) TOK (Transmit completed OK) RER (Received Error packet) TER (Transmit was aborted) RxBOvf (Receive Buffer Overflowed) SERR (System Error on PCI bus) RxFOvf (Receive FIFO Overflowed) LenChg (Cable Length changed) TimeOut (Timer Count == Timer Intr) PUN/LC (Packet Underrun/Link Changed) (0 = inactive, 1=active) NOTE: An ‘active’ bit is cleared by writing ‘1’ to that bit
4
A code ‘walkthrough’ We have written an initial ‘prototype’ for a character-mode device-driver for the 8139 It supports packet-reception (w/ interrupts) A companion application (‘nicread.cpp’) is useful for testing this device driver We will walk through the driver’s design Can you spot any ‘bugs’ in this driver? Can you implement packet-transmission?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.