Merge commit '1d41b0c1ec66d38355a1e76c29dd2200433335f6' into upstream-merge
[qemu-kvm/markmc.git] / target-ia64 / exec.h
blob060d9c35befbc0de5ac1bbf9a65f42b72fedd767
1 /*
2 * IA64 execution defines
4 * Copyright (c) 2003 Fabrice Bellard
5 * Copyright (c) 2007 Intel Corporation
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef __IA64_H__
22 #define __IA64_H__
24 //#include "dyngen-exec.h"
25 #include "config.h"
27 #include "dyngen-exec.h"
29 #include "cpu.h"
30 #include "exec-all.h"
32 #define tcg_qemu_tb_exec(tb_ptr) 0
34 register struct CPUIA64State *env asm(AREG0);
36 static inline void env_to_regs(void)
40 static inline void regs_to_env(void)
44 void do_interrupt (CPUState *env);
46 void cpu_lock(void);
47 void cpu_unlock(void);
49 static inline int cpu_halted(CPUState *env) {
50 /* handle exit of HALTED state */
51 if (!(env->hflags & HF_HALTED_MASK))
52 return 0;
53 return EXCP_HALTED;
56 static inline int cpu_has_work(CPUState *env)
58 return (env->interrupt_request & (CPU_INTERRUPT_HARD));
61 #endif