28 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
29 |
* |
* |
30 |
* |
* |
31 |
* $Id: cpu_ppc.h,v 1.60 2006/02/09 22:40:27 debug Exp $ |
* $Id: cpu_ppc.h,v 1.64 2006/03/05 16:51:55 debug Exp $ |
32 |
*/ |
*/ |
33 |
|
|
34 |
#include "misc.h" |
#include "misc.h" |
84 |
|
|
85 |
#define PPC_NGPRS 32 |
#define PPC_NGPRS 32 |
86 |
#define PPC_NFPRS 32 |
#define PPC_NFPRS 32 |
87 |
|
#define PPC_NVRS 32 |
88 |
#define PPC_N_TGPRS 4 |
#define PPC_N_TGPRS 4 |
89 |
|
|
90 |
#define PPC_N_IC_ARGS 3 |
#define PPC_N_IC_ARGS 3 |
96 |
#define PPC_ADDR_TO_PAGENR(a) ((a) >> (PPC_IC_ENTRIES_SHIFT \ |
#define PPC_ADDR_TO_PAGENR(a) ((a) >> (PPC_IC_ENTRIES_SHIFT \ |
97 |
+ PPC_INSTR_ALIGNMENT_SHIFT)) |
+ PPC_INSTR_ALIGNMENT_SHIFT)) |
98 |
|
|
99 |
|
#define PPC_L2N 17 |
100 |
|
#define PPC_L3N 18 |
101 |
|
|
102 |
DYNTRANS_MISC_DECLARATIONS(ppc,PPC,uint64_t) |
DYNTRANS_MISC_DECLARATIONS(ppc,PPC,uint64_t) |
103 |
|
DYNTRANS_MISC64_DECLARATIONS(ppc,PPC,uint8_t) |
104 |
|
|
105 |
#define PPC_MAX_VPH_TLB_ENTRIES 128 |
#define PPC_MAX_VPH_TLB_ENTRIES 128 |
106 |
|
|
122 |
uint64_t gpr[PPC_NGPRS]; /* General Purpose Registers */ |
uint64_t gpr[PPC_NGPRS]; /* General Purpose Registers */ |
123 |
uint64_t fpr[PPC_NFPRS]; /* Floating-Point Registers */ |
uint64_t fpr[PPC_NFPRS]; /* Floating-Point Registers */ |
124 |
|
|
125 |
|
uint64_t vr_hi[PPC_NVRS];/* 128-bit Vector registers */ |
126 |
|
uint64_t vr_lo[PPC_NVRS];/* (Hi and lo 64-bit parts) */ |
127 |
|
|
128 |
uint64_t msr; /* Machine state register */ |
uint64_t msr; /* Machine state register */ |
129 |
uint64_t tgpr[PPC_N_TGPRS];/*Temporary gpr 0..3 */ |
uint64_t tgpr[PPC_N_TGPRS];/*Temporary gpr 0..3 */ |
130 |
|
|
207 |
void ppc32_invalidate_translation_caches(struct cpu *cpu, uint64_t, int); |
void ppc32_invalidate_translation_caches(struct cpu *cpu, uint64_t, int); |
208 |
void ppc_invalidate_code_translation(struct cpu *cpu, uint64_t, int); |
void ppc_invalidate_code_translation(struct cpu *cpu, uint64_t, int); |
209 |
void ppc32_invalidate_code_translation(struct cpu *cpu, uint64_t, int); |
void ppc32_invalidate_code_translation(struct cpu *cpu, uint64_t, int); |
210 |
|
void ppc_init_64bit_dummy_tables(struct cpu *cpu); |
211 |
int ppc_memory_rw(struct cpu *cpu, struct memory *mem, uint64_t vaddr, |
int ppc_memory_rw(struct cpu *cpu, struct memory *mem, uint64_t vaddr, |
212 |
unsigned char *data, size_t len, int writeflag, int cache_flags); |
unsigned char *data, size_t len, int writeflag, int cache_flags); |
213 |
int ppc_cpu_family_init(struct cpu_family *); |
int ppc_cpu_family_init(struct cpu_family *); |