57 #define ALPHA_FEATURE_BWX 1 59 #define ALPHA_CPU_TYPE_DEFS { \ 60 { "21064", 0x000000002ULL, 0, 0, 16,5,2, 16,5,2, 0,0,0 }, \ 61 { "21066", 0x200000004ULL, 0, 0, 16,5,2, 16,5,2, 0,0,0 }, \ 62 { "21164", 0x000000005ULL, 0, 1, 16,5,2, 16,5,2, 0,0,0 }, \ 63 { "21164A-2", 0x000000007ULL, 0, 1, 16,5,2, 16,5,2, 0,0,0 }, \ 64 { "21164PC", 0x000000009ULL, 0, 1, 16,5,2, 16,5,2, 0,0,0 }, \ 65 { "21264", 0x00000000dULL, 0, 2, 16,5,2, 16,5,2, 0,0,0 }, \ 66 { "21364", 0x000000000ULL, 0, 3, 16,5,2, 16,5,2, 0,0,0 }, \ 67 { NULL, 0x000000000ULL, 0, 0, 0,0,0, 0,0,0, 0,0,0 } } 73 #define N_ALPHA_KENTRY 6 109 #define ALPHA_ZERO 31 111 #define N_ALPHA_REGS 32 113 #define ALPHA_REG_NAMES { \ 114 "v0", "t0", "t1", "t2", "t3", "t4", "t5", "t6", \ 115 "t7", "s0", "s1", "s2", "s3", "s4", "s5", "fp", \ 116 "a0", "a1", "a2", "a3", "a4", "a5", "t8", "t9", \ 117 "t10", "t11", "ra", "t12", "at", "gp", "sp", "zero" } 122 #define ALPHA_N_IC_ARGS 3 123 #define ALPHA_INSTR_ALIGNMENT_SHIFT 2 124 #define ALPHA_IC_ENTRIES_SHIFT 11 125 #define ALPHA_IC_ENTRIES_PER_PAGE (1 << ALPHA_IC_ENTRIES_SHIFT) 126 #define ALPHA_PC_TO_IC_ENTRY(a) (((a)>>ALPHA_INSTR_ALIGNMENT_SHIFT) \ 127 & (ALPHA_IC_ENTRIES_PER_PAGE-1)) 128 #define ALPHA_ADDR_TO_PAGENR(a) ((a) >> (ALPHA_IC_ENTRIES_SHIFT \ 129 + ALPHA_INSTR_ALIGNMENT_SHIFT)) 131 #define ALPHA_MAX_VPH_TLB_ENTRIES 128 140 #define ALPHA_PAGESHIFT 13 186 unsigned char *host_page,
int writeflag, uint64_t paddr_page);
192 unsigned char *
data,
size_t len,
int writeflag,
int cache_flags);
201 uint64_t *return_addr,
int flags);
#define DYNTRANS_MISC_DECLARATIONS(arch, ARCH, addrtype)
int alpha_translate_v2p(struct cpu *cpu, uint64_t vaddr, uint64_t *return_addr, int flags)
void f(int s, int func, int only_name)
void alpha_palcode(struct cpu *cpu, uint32_t palcode)
void alpha_invalidate_translation_caches(struct cpu *cpu, uint64_t, int)
void alpha_update_translation_table(struct cpu *cpu, uint64_t vaddr_page, unsigned char *host_page, int writeflag, uint64_t paddr_page)
void alpha_invalidate_code_translation(struct cpu *cpu, uint64_t, int)
int alpha_memory_rw(struct cpu *cpu, struct memory *mem, uint64_t vaddr, unsigned char *data, size_t len, int writeflag, int cache_flags)
#define DYNTRANS_ITC(arch)
int alpha_run_instr(struct cpu *cpu)
void alpha_init_64bit_dummy_tables(struct cpu *cpu)
#define VPH_TLBS(arch, ARCH)
#define VPH64(arch, ARCH)
#define DYNTRANS_MISC64_DECLARATIONS(arch, ARCH, tlbindextype)
int alpha_cpu_family_init(struct cpu_family *)
uint64_t load_linked_addr
void alpha_palcode_name(uint32_t palcode, char *buf, size_t buflen)