i8259.hh (5630:b49710ff49d3) | i8259.hh (5631:38912b6250d0) |
---|---|
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; --- 29 unchanged lines hidden (view full) --- 38{ 39 40class I8259 : public BasicPioDevice 41{ 42 protected: 43 Tick latency; 44 bool master; 45 | 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; --- 29 unchanged lines hidden (view full) --- 38{ 39 40class I8259 : public BasicPioDevice 41{ 42 protected: 43 Tick latency; 44 bool 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 53 bool edgeTriggered; 54 bool cascadeMode; 55 bool expectICW4; 56 bool readIRR; 57 int initControlWord; 58 |
|
46 public: 47 typedef I8259Params Params; 48 49 const Params * 50 params() const 51 { 52 return dynamic_cast<const Params *>(_params); 53 } 54 55 I8259(Params * p) : BasicPioDevice(p) 56 { 57 pioSize = 2; | 59 public: 60 typedef I8259Params Params; 61 62 const Params * 63 params() const 64 { 65 return dynamic_cast<const Params *>(_params); 66 } 67 68 I8259(Params * p) : BasicPioDevice(p) 69 { 70 pioSize = 2; |
71 initControlWord = 0; 72 readIRR = true; |
|
58 latency = p->pio_latency; 59 master = p->master; 60 } 61 62 Tick read(PacketPtr pkt); 63 64 Tick write(PacketPtr pkt); 65}; 66 67}; // namespace X86ISA 68 69#endif //__DEV_X86_I8259_HH__ | 73 latency = p->pio_latency; 74 master = p->master; 75 } 76 77 Tick read(PacketPtr pkt); 78 79 Tick write(PacketPtr pkt); 80}; 81 82}; // namespace X86ISA 83 84#endif //__DEV_X86_I8259_HH__ |