interrupts.hh (8518:9c87727099ce) | interrupts.hh (9656:06ec4e8fc7cd) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2010 ARM Limited | 2 * Copyright (c) 2010,2012 ARM Limited |
3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 134 unchanged lines hidden (view full) --- 145 * @return any interrupts pending 146 */ 147 bool 148 checkRaw() const 149 { 150 return intStatus; 151 } 152 | 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 134 unchanged lines hidden (view full) --- 145 * @return any interrupts pending 146 */ 147 bool 148 checkRaw() const 149 { 150 return intStatus; 151 } 152 |
153 /** 154 * Check the state of a particular interrupt, ignoring CPSR masks. 155 * 156 * This method is primarily used when running the target CPU in a 157 * hardware VM (e.g., KVM) to check if interrupts should be 158 * delivered upon guest entry. 159 * 160 * @param interrupt Interrupt type to check the state of. 161 * @return true if the interrupt is asserted, false otherwise. 162 */ 163 bool 164 checkRaw(InterruptTypes interrupt) const 165 { 166 if (interrupt >= NumInterruptTypes) 167 panic("Interrupt number out of range.\n"); |
|
153 | 168 |
169 return interrupts[interrupt]; 170 } 171 |
|
154 Fault 155 getInterrupt(ThreadContext *tc) 156 { 157 if (!intStatus) 158 return NoFault; 159 160 CPSR cpsr = tc->readMiscReg(MISCREG_CPSR); 161 --- 38 unchanged lines hidden --- | 172 Fault 173 getInterrupt(ThreadContext *tc) 174 { 175 if (!intStatus) 176 return NoFault; 177 178 CPSR cpsr = tc->readMiscReg(MISCREG_CPSR); 179 --- 38 unchanged lines hidden --- |