Go to the source code of this file.
Classes | |
struct | alpha_cpu_type_def |
struct | alpha_cpu |
Macros | |
#define | ALPHA_FEATURE_BWX 1 |
#define | ALPHA_CPU_TYPE_DEFS |
#define | N_ALPHA_KENTRY 6 |
#define | ALPHA_V0 0 |
#define | ALPHA_T0 1 |
#define | ALPHA_T1 2 |
#define | ALPHA_T2 3 |
#define | ALPHA_T3 4 |
#define | ALPHA_T4 5 |
#define | ALPHA_T5 6 |
#define | ALPHA_T6 7 |
#define | ALPHA_T7 8 |
#define | ALPHA_S0 9 |
#define | ALPHA_S1 10 |
#define | ALPHA_S2 11 |
#define | ALPHA_S3 12 |
#define | ALPHA_S4 13 |
#define | ALPHA_S5 14 |
#define | ALPHA_FP 15 |
#define | ALPHA_A0 16 |
#define | ALPHA_A1 17 |
#define | ALPHA_A2 18 |
#define | ALPHA_A3 19 |
#define | ALPHA_A4 20 |
#define | ALPHA_A5 21 |
#define | ALPHA_T8 22 |
#define | ALPHA_T9 23 |
#define | ALPHA_T10 24 |
#define | ALPHA_T11 25 |
#define | ALPHA_RA 26 |
#define | ALPHA_T12 27 |
#define | ALPHA_AT 28 |
#define | ALPHA_GP 29 |
#define | ALPHA_SP 30 |
#define | ALPHA_ZERO 31 |
#define | N_ALPHA_REGS 32 |
#define | ALPHA_REG_NAMES |
#define | ALPHA_N_IC_ARGS 3 |
#define | ALPHA_INSTR_ALIGNMENT_SHIFT 2 |
#define | ALPHA_IC_ENTRIES_SHIFT 11 |
#define | ALPHA_IC_ENTRIES_PER_PAGE (1 << ALPHA_IC_ENTRIES_SHIFT) |
#define | ALPHA_PC_TO_IC_ENTRY(a) |
#define | ALPHA_ADDR_TO_PAGENR(a) |
#define | ALPHA_MAX_VPH_TLB_ENTRIES 128 |
#define | ALPHA_L2N 17 |
#define | ALPHA_L3N 17 |
#define | ALPHA_PAGESHIFT 13 |
Functions | |
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_translation_caches (struct cpu *cpu, uint64_t, int) |
void | alpha_invalidate_code_translation (struct cpu *cpu, uint64_t, int) |
void | alpha_init_64bit_dummy_tables (struct cpu *cpu) |
int | alpha_run_instr (struct cpu *cpu) |
int | alpha_memory_rw (struct cpu *cpu, struct memory *mem, uint64_t vaddr, unsigned char *data, size_t len, int writeflag, int cache_flags) |
int | alpha_cpu_family_init (struct cpu_family *) |
void | alpha_palcode_name (uint32_t palcode, char *buf, size_t buflen) |
void | alpha_palcode (struct cpu *cpu, uint32_t palcode) |
int | alpha_translate_v2p (struct cpu *cpu, uint64_t vaddr, uint64_t *return_addr, int flags) |
#define ALPHA_A0 16 |
Definition at line 93 of file cpu_alpha.h.
Referenced by alpha_palcode(), alpha_prom_call(), and MACHINE_SETUP().
#define ALPHA_A1 17 |
Definition at line 94 of file cpu_alpha.h.
Referenced by alpha_palcode(), alpha_prom_call(), and MACHINE_SETUP().
#define ALPHA_A2 18 |
Definition at line 95 of file cpu_alpha.h.
Referenced by alpha_prom_call(), and MACHINE_SETUP().
#define ALPHA_A3 19 |
Definition at line 96 of file cpu_alpha.h.
Referenced by alpha_prom_call(), and MACHINE_SETUP().
#define ALPHA_A4 20 |
Definition at line 97 of file cpu_alpha.h.
Referenced by MACHINE_SETUP().
#define ALPHA_A5 21 |
Definition at line 98 of file cpu_alpha.h.
#define ALPHA_ADDR_TO_PAGENR | ( | a | ) |
Definition at line 128 of file cpu_alpha.h.
#define ALPHA_AT 28 |
Definition at line 106 of file cpu_alpha.h.
#define ALPHA_CPU_TYPE_DEFS |
Definition at line 59 of file cpu_alpha.h.
Referenced by alpha_cpu_list_available_types(), and alpha_cpu_new().
#define ALPHA_FEATURE_BWX 1 |
Definition at line 57 of file cpu_alpha.h.
#define ALPHA_FP 15 |
Definition at line 91 of file cpu_alpha.h.
#define ALPHA_GP 29 |
Definition at line 107 of file cpu_alpha.h.
#define ALPHA_IC_ENTRIES_PER_PAGE (1 << ALPHA_IC_ENTRIES_SHIFT) |
Definition at line 125 of file cpu_alpha.h.
Referenced by X().
#define ALPHA_IC_ENTRIES_SHIFT 11 |
Definition at line 124 of file cpu_alpha.h.
#define ALPHA_INSTR_ALIGNMENT_SHIFT 2 |
Definition at line 123 of file cpu_alpha.h.
Referenced by X().
#define ALPHA_L2N 17 |
Definition at line 133 of file cpu_alpha.h.
#define ALPHA_L3N 17 |
Definition at line 134 of file cpu_alpha.h.
#define ALPHA_MAX_VPH_TLB_ENTRIES 128 |
Definition at line 131 of file cpu_alpha.h.
#define ALPHA_N_IC_ARGS 3 |
Definition at line 122 of file cpu_alpha.h.
#define ALPHA_PAGESHIFT 13 |
Definition at line 140 of file cpu_alpha.h.
Referenced by alpha_translate_v2p().
#define ALPHA_PC_TO_IC_ENTRY | ( | a | ) |
Definition at line 126 of file cpu_alpha.h.
#define ALPHA_RA 26 |
Definition at line 104 of file cpu_alpha.h.
Referenced by alpha_palcode(), alpha_prom_call(), and X().
#define ALPHA_REG_NAMES |
Definition at line 113 of file cpu_alpha.h.
#define ALPHA_S0 9 |
Definition at line 85 of file cpu_alpha.h.
#define ALPHA_S1 10 |
Definition at line 86 of file cpu_alpha.h.
#define ALPHA_S2 11 |
Definition at line 87 of file cpu_alpha.h.
#define ALPHA_S3 12 |
Definition at line 88 of file cpu_alpha.h.
#define ALPHA_S4 13 |
Definition at line 89 of file cpu_alpha.h.
#define ALPHA_S5 14 |
Definition at line 90 of file cpu_alpha.h.
#define ALPHA_SP 30 |
Definition at line 108 of file cpu_alpha.h.
Referenced by alpha_cpu_new().
#define ALPHA_T0 1 |
Definition at line 76 of file cpu_alpha.h.
#define ALPHA_T1 2 |
Definition at line 77 of file cpu_alpha.h.
#define ALPHA_T10 24 |
Definition at line 102 of file cpu_alpha.h.
#define ALPHA_T11 25 |
Definition at line 103 of file cpu_alpha.h.
#define ALPHA_T12 27 |
Definition at line 105 of file cpu_alpha.h.
Referenced by emul_machine_setup().
#define ALPHA_T2 3 |
Definition at line 78 of file cpu_alpha.h.
#define ALPHA_T3 4 |
Definition at line 79 of file cpu_alpha.h.
#define ALPHA_T4 5 |
Definition at line 80 of file cpu_alpha.h.
#define ALPHA_T5 6 |
Definition at line 81 of file cpu_alpha.h.
#define ALPHA_T6 7 |
Definition at line 82 of file cpu_alpha.h.
#define ALPHA_T7 8 |
Definition at line 84 of file cpu_alpha.h.
#define ALPHA_T8 22 |
Definition at line 99 of file cpu_alpha.h.
#define ALPHA_T9 23 |
Definition at line 100 of file cpu_alpha.h.
#define ALPHA_V0 0 |
Definition at line 75 of file cpu_alpha.h.
Referenced by alpha_palcode(), and alpha_prom_call().
#define ALPHA_ZERO 31 |
Definition at line 109 of file cpu_alpha.h.
Referenced by alpha_cpu_register_dump(), and X().
#define N_ALPHA_KENTRY 6 |
Definition at line 73 of file cpu_alpha.h.
Referenced by alpha_cpu_new(), and alpha_palcode().
#define N_ALPHA_REGS 32 |
Definition at line 111 of file cpu_alpha.h.
Referenced by alpha_cpu_new(), and alpha_cpu_register_dump().
int alpha_cpu_family_init | ( | struct cpu_family * | ) |
void alpha_init_64bit_dummy_tables | ( | struct cpu * | cpu | ) |
void alpha_invalidate_code_translation | ( | struct cpu * | cpu, |
uint64_t | , | ||
int | |||
) |
Referenced by alpha_cpu_new().
void alpha_invalidate_translation_caches | ( | struct cpu * | cpu, |
uint64_t | , | ||
int | |||
) |
Referenced by alpha_cpu_new().
int alpha_memory_rw | ( | struct cpu * | cpu, |
struct memory * | mem, | ||
uint64_t | vaddr, | ||
unsigned char * | data, | ||
size_t | len, | ||
int | writeflag, | ||
int | cache_flags | ||
) |
Referenced by alpha_cpu_new().
void alpha_palcode | ( | struct cpu * | cpu, |
uint32_t | palcode | ||
) |
Definition at line 163 of file cpu_alpha_palcode.cc.
References cpu::alpha, ALPHA_A0, ALPHA_A1, alpha_prom_call(), ALPHA_PSL_IPL_MASK, ALPHA_PSL_USERMODE, ALPHA_RA, ALPHA_V0, alpha_pcb::apcb_asn, alpha_pcb::apcb_cpc, alpha_pcb::apcb_decrsv0, alpha_pcb::apcb_decrsv1, alpha_pcb::apcb_flags, alpha_pcb::apcb_ksp, alpha_pcb::apcb_ptbr, alpha_pcb::apcb_unique, alpha_pcb::apcb_usp, cpu::cd, cpu::cpu_id, alpha_cpu::ctx, fatal(), I, INVALIDATE_ALL, cpu::invalidate_translation_caches, INVALIDATE_VADDR, alpha_cpu::kentry, alpha_cpu::kgp, load_32bit_word(), load_64bit_word(), alpha_cpu::mces, N_ALPHA_KENTRY, cpu::pc, alpha_cpu::pcb, alpha_cpu::ps, alpha_cpu::r, cpu::running, store_32bit_word(), store_64bit_word(), alpha_cpu::sysvalue, and alpha_cpu::vptptr.
Referenced by X().
void alpha_palcode_name | ( | uint32_t | palcode, |
char * | buf, | ||
size_t | buflen | ||
) |
Definition at line 55 of file cpu_alpha_palcode.cc.
Referenced by alpha_cpu_disassemble_instr().
int alpha_run_instr | ( | struct cpu * | cpu | ) |
Referenced by alpha_cpu_new().
int alpha_translate_v2p | ( | struct cpu * | cpu, |
uint64_t | vaddr, | ||
uint64_t * | return_addr, | ||
int | flags | ||
) |
Definition at line 43 of file memory_alpha.cc.
References addr, cpu::alpha, ALPHA_K0SEG_BASE, ALPHA_K0SEG_END, ALPHA_PAGESHIFT, ALPHA_PSL_USERMODE, ALPHA_PTE_TO_PFN, ALPHA_PTE_VALID, alpha_pcb::apcb_ptbr, cpu::cd, fatal(), HWRPB_PADDR, LE64_TO_HOST, cpu::mem, memory_paddr_to_hostaddr(), alpha_cpu::pcb, PROM_ARGSPACE_PADDR, and alpha_cpu::ps.
Referenced by alpha_cpu_new().
void alpha_update_translation_table | ( | struct cpu * | cpu, |
uint64_t | vaddr_page, | ||
unsigned char * | host_page, | ||
int | writeflag, | ||
uint64_t | paddr_page | ||
) |
Referenced by alpha_cpu_new().