/* * IA64 virtual CPU header * * Copyright (c) 2003 Fabrice Bellard * * Copyright (c) 2007 Intel Corporation * Zhang xiantao * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * 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 */ #ifndef CPU_IA64_H #define CPU_IA64_H #include "config.h" #include "ia64intrin.h" #include #define TARGET_LONG_BITS 64 #define TARGET_PAGE_BITS 16 #define ELF_MACHINE EM_IA_64 #define NB_MMU_MODES 2 #define CPU_PAL_HALT 1 #define HF_HALTED_MASK (1 << CPU_PAL_HALT) #include "cpu-defs.h" #include "softfloat.h" #define CPUState struct CPUIA64State typedef struct CPUIA64State { CPU_COMMON; uint32_t hflags; int mp_state; } CPUIA64State; #define cpu_gen_code cpu_ia64_gen_code #define cpu_init cpu_ia64_init #define cpu_signal_handler cpu_ia64_signal_handler extern struct CPUIA64State *env; int cpu_get_pic_interrupt(CPUIA64State *s); int cpu_exec(CPUState *env1); CPUState *cpu_ia64_init(const char * cpu_model); static inline int cpu_mmu_index (CPUState *env) { return 0; } #define CPU_PC_FROM_TB(env, tb) do{}while(0) #include "cpu-all.h" /* * These ones really should go to the appropriate tcg header file, if/when * tcg support is added for ia64. */ void tcg_dump_info(FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...)); static inline void cpu_get_tb_cpu_state(CPUState *env, target_ulong *pc, target_ulong *cs_base, int *flags) { *pc = 0; *cs_base = 0; *flags = 0; } #endif