cpu_alpha.h Source File
Back to the index.
Go to the documentation of this file.
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);
void alpha_palcode_name(uint32_t palcode, char *buf, size_t buflen)
#define DYNTRANS_MISC64_DECLARATIONS(arch, ARCH, tlbindextype)
#define DYNTRANS_MISC_DECLARATIONS(arch, ARCH, addrtype)
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)
int alpha_translate_v2p(struct cpu *cpu, uint64_t vaddr, uint64_t *return_addr, int flags)
#define DYNTRANS_ITC(arch)
#define VPH_TLBS(arch, ARCH)
void alpha_palcode(struct cpu *cpu, uint32_t palcode)
struct alpha_cpu_type_def cpu_type
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 VPH64(arch, ARCH)
int alpha_run_instr(struct cpu *cpu)
int alpha_cpu_family_init(struct cpu_family *)
void alpha_init_64bit_dummy_tables(struct cpu *cpu)
uint64_t kentry[N_ALPHA_KENTRY]
uint64_t load_linked_addr
Generated on Tue Mar 24 2020 14:04:48 for GXemul by
1.8.17