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