i8259.hh (5631:38912b6250d0) i8259.hh (5632:65132fd646c6)
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;

--- 27 unchanged lines hidden (view full) ---

36
37namespace X86ISA
38{
39
40class I8259 : public BasicPioDevice
41{
42 protected:
43 Tick latency;
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;

--- 27 unchanged lines hidden (view full) ---

36
37namespace X86ISA
38{
39
40class I8259 : public BasicPioDevice
41{
42 protected:
43 Tick latency;
44 bool master;
44 I8259 *master;
45
46 // Interrupt Request Register
47 uint8_t IRR;
48 // In Service Register
49 uint8_t ISR;
50 // Interrupt Mask Register
51 uint8_t IMR;
52
45
46 // Interrupt Request Register
47 uint8_t IRR;
48 // In Service Register
49 uint8_t ISR;
50 // Interrupt Mask Register
51 uint8_t IMR;
52
53 bool edgeTriggered;
54 bool cascadeMode;
53 bool cascadeMode;
55 bool expectICW4;
54 // A bit vector of lines with slaves attached, or the slave id, depending
55 // on if this is a master or slave PIC.
56 uint8_t cascadeBits;
57
58 bool edgeTriggered;
56 bool readIRR;
59 bool readIRR;
60
61 // State machine information for reading in initialization control words.
62 bool expectICW4;
57 int initControlWord;
58
59 public:
60 typedef I8259Params Params;
61
62 const Params *
63 params() const
64 {

--- 7 unchanged lines hidden (view full) ---

72 readIRR = true;
73 latency = p->pio_latency;
74 master = p->master;
75 }
76
77 Tick read(PacketPtr pkt);
78
79 Tick write(PacketPtr pkt);
63 int initControlWord;
64
65 public:
66 typedef I8259Params Params;
67
68 const Params *
69 params() const
70 {

--- 7 unchanged lines hidden (view full) ---

78 readIRR = true;
79 latency = p->pio_latency;
80 master = p->master;
81 }
82
83 Tick read(PacketPtr pkt);
84
85 Tick write(PacketPtr pkt);
86
87 void signalInterrupt(int line);
80};
81
82}; // namespace X86ISA
83
84#endif //__DEV_X86_I8259_HH__
88};
89
90}; // namespace X86ISA
91
92#endif //__DEV_X86_I8259_HH__