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__