i8259.hh (5688:e18928b6b108) | i8259.hh (5827:ac2c268bf4f1) |
---|---|
1/* 2 * Copyright (c) 2004-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 31 unchanged lines hidden (view full) --- 40{ 41 42class I82094AA; 43 44class I8259 : public BasicPioDevice, public IntDev 45{ 46 protected: 47 static const int NumLines = 8; | 1/* 2 * Copyright (c) 2004-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 31 unchanged lines hidden (view full) --- 40{ 41 42class I82094AA; 43 44class I8259 : public BasicPioDevice, public IntDev 45{ 46 protected: 47 static const int NumLines = 8; |
48 bool pinStates[NumLines]; |
|
48 49 Tick latency; | 49 50 Tick latency; |
50 IntPin *output; | 51 IntSourcePin *output; |
51 Enums::X86I8259CascadeMode mode; 52 I8259 * slave; 53 54 // Interrupt Request Register 55 uint8_t IRR; 56 // In Service Register 57 uint8_t ISR; 58 // Interrupt Mask Register --- 26 unchanged lines hidden (view full) --- 85 const Params * 86 params() const 87 { 88 return dynamic_cast<const Params *>(_params); 89 } 90 91 I8259(Params * p); 92 | 52 Enums::X86I8259CascadeMode mode; 53 I8259 * slave; 54 55 // Interrupt Request Register 56 uint8_t IRR; 57 // In Service Register 58 uint8_t ISR; 59 // Interrupt Mask Register --- 26 unchanged lines hidden (view full) --- 86 const Params * 87 params() const 88 { 89 return dynamic_cast<const Params *>(_params); 90 } 91 92 I8259(Params * p); 93 |
93 void 94 setSlave(I8259 * _slave) 95 { 96 slave = _slave; 97 } 98 | |
99 Tick read(PacketPtr pkt); 100 Tick write(PacketPtr pkt); 101 102 void signalInterrupt(int line); | 94 Tick read(PacketPtr pkt); 95 Tick write(PacketPtr pkt); 96 97 void signalInterrupt(int line); |
98 void raiseInterruptPin(int number); 99 void lowerInterruptPin(int number); |
|
103 int getVector(); 104}; 105 106}; // namespace X86ISA 107 108#endif //__DEV_X86_I8259_HH__ | 100 int getVector(); 101}; 102 103}; // namespace X86ISA 104 105#endif //__DEV_X86_I8259_HH__ |