interrupts.hh (5704:98224505352a) | interrupts.hh (5810:606de5b3d116) |
---|---|
1/* 2 * Copyright (c) 2006 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; --- 34 unchanged lines hidden (view full) --- 43namespace AlphaISA { 44 45class Interrupts : public SimObject 46{ 47 private: 48 bool newInfoSet; 49 int newIpl; 50 int newSummary; | 1/* 2 * Copyright (c) 2006 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; --- 34 unchanged lines hidden (view full) --- 43namespace AlphaISA { 44 45class Interrupts : public SimObject 46{ 47 private: 48 bool newInfoSet; 49 int newIpl; 50 int newSummary; |
51 BaseCPU * cpu; |
|
51 52 protected: 53 uint64_t interrupts[NumInterruptLevels]; 54 uint64_t intstatus; 55 56 public: 57 typedef AlphaInterruptsParams Params; 58 59 const Params * 60 params() const 61 { 62 return dynamic_cast<const Params *>(_params); 63 } 64 | 52 53 protected: 54 uint64_t interrupts[NumInterruptLevels]; 55 uint64_t intstatus; 56 57 public: 58 typedef AlphaInterruptsParams Params; 59 60 const Params * 61 params() const 62 { 63 return dynamic_cast<const Params *>(_params); 64 } 65 |
65 Interrupts(Params * p) : SimObject(p) | 66 Interrupts(Params * p) : SimObject(p), cpu(NULL) |
66 { 67 memset(interrupts, 0, sizeof(interrupts)); 68 intstatus = 0; 69 newInfoSet = false; 70 } 71 72 void | 67 { 68 memset(interrupts, 0, sizeof(interrupts)); 69 intstatus = 0; 70 newInfoSet = false; 71 } 72 73 void |
74 setCPU(BaseCPU * _cpu) 75 { 76 cpu = _cpu; 77 } 78 79 void |
|
73 post(int int_num, int index) 74 { 75 DPRINTF(Interrupt, "Interrupt %d:%d posted\n", int_num, index); 76 77 if (int_num < 0 || int_num >= NumInterruptLevels) 78 panic("int_num out of bounds\n"); 79 80 if (index < 0 || index >= (int)sizeof(uint64_t) * 8) --- 110 unchanged lines hidden --- | 80 post(int int_num, int index) 81 { 82 DPRINTF(Interrupt, "Interrupt %d:%d posted\n", int_num, index); 83 84 if (int_num < 0 || int_num >= NumInterruptLevels) 85 panic("int_num out of bounds\n"); 86 87 if (index < 0 || index >= (int)sizeof(uint64_t) * 8) --- 110 unchanged lines hidden --- |