diff options
Diffstat (limited to 'target-arm/exec.h')
-rw-r--r-- | target-arm/exec.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/target-arm/exec.h b/target-arm/exec.h index c543cf4..710a2f9 100644 --- a/target-arm/exec.h +++ b/target-arm/exec.h @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA */ #include "config.h" #include "dyngen-exec.h" @@ -37,8 +37,11 @@ static inline void regs_to_env(void) { } -int cpu_arm_handle_mmu_fault (CPUState *env, target_ulong address, int rw, - int mmu_idx, int is_softmmu); +static inline int cpu_has_work(CPUState *env) +{ + return (env->interrupt_request & + (CPU_INTERRUPT_FIQ | CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB)); +} static inline int cpu_halted(CPUState *env) { if (!env->halted) @@ -46,8 +49,7 @@ static inline int cpu_halted(CPUState *env) { /* An interrupt wakes the CPU even if the I and F CPSR bits are set. We use EXITTB to silently wake CPU without causing an actual interrupt. */ - if (env->interrupt_request & - (CPU_INTERRUPT_FIQ | CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB)) { + if (cpu_has_work(env)) { env->halted = 0; return 0; } @@ -58,6 +60,4 @@ static inline int cpu_halted(CPUState *env) { #include "softmmu_exec.h" #endif -void cpu_loop_exit(void); - void raise_exception(int); |