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__ |