Commit 85c4adf65f20437c428a1ebf2d3293dd56a53596
1 parent
b69fedff
PowerPC merge
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@860 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
50 additions
and
3 deletions
target-ppc/cpu.h
| ... | ... | @@ -74,6 +74,10 @@ enum { |
| 74 | 74 | |
| 75 | 75 | #define PPC_COMMON (PPC_INTEGER | PPC_FLOAT | PPC_FLOW | PPC_MEM | \ |
| 76 | 76 | PPC_RES | PPC_CACHE | PPC_MISC | PPC_SEGMENT) |
| 77 | +/* PPC 604 */ | |
| 78 | +#define PPC_604 (PPC_INTEGER | PPC_FLOAT | PPC_FLOW | PPC_MEM | \ | |
| 79 | + PPC_RES | PPC_CACHE | PPC_MISC | PPC_EXTERN | PPC_SEGMENT \ | |
| 80 | + PPC_MEM_OPT) | |
| 77 | 81 | /* PPC 740/745/750/755 (aka G3) has external access instructions */ |
| 78 | 82 | #define PPC_750 (PPC_INTEGER | PPC_FLOAT | PPC_FLOW | PPC_MEM | \ |
| 79 | 83 | PPC_RES | PPC_CACHE | PPC_MISC | PPC_EXTERN | PPC_SEGMENT) |
| ... | ... | @@ -202,6 +206,8 @@ void _store_xer (CPUPPCState *env, uint32_t value); |
| 202 | 206 | uint32_t _load_msr (CPUPPCState *env); |
| 203 | 207 | void _store_msr (CPUPPCState *env, uint32_t value); |
| 204 | 208 | |
| 209 | +int cpu_ppc_register (CPUPPCState *env, uint32_t pvr); | |
| 210 | + | |
| 205 | 211 | /* Time-base and decrementer management */ |
| 206 | 212 | #ifndef NO_CPU_IO_DEFS |
| 207 | 213 | uint32_t cpu_ppc_load_tbl (CPUPPCState *env); |
| ... | ... | @@ -235,7 +241,10 @@ void cpu_ppc_store_decr (CPUPPCState *env, uint32_t value); |
| 235 | 241 | #define xer_ca env->xer[1] |
| 236 | 242 | #define xer_bc env->xer[0] |
| 237 | 243 | |
| 244 | +#define MQ SPR_ENCODE(0) | |
| 238 | 245 | #define XER SPR_ENCODE(1) |
| 246 | +#define RTCUR SPR_ENCODE(4) | |
| 247 | +#define RTCLR SPR_ENCODE(5) | |
| 239 | 248 | #define LR SPR_ENCODE(8) |
| 240 | 249 | #define CTR SPR_ENCODE(9) |
| 241 | 250 | /* VEA mode SPR */ |
| ... | ... | @@ -244,6 +253,8 @@ void cpu_ppc_store_decr (CPUPPCState *env, uint32_t value); |
| 244 | 253 | /* supervisor mode SPR */ |
| 245 | 254 | #define DSISR SPR_ENCODE(18) |
| 246 | 255 | #define DAR SPR_ENCODE(19) |
| 256 | +#define RTCUW SPR_ENCODE(20) | |
| 257 | +#define RTCLW SPR_ENCODE(21) | |
| 247 | 258 | #define DECR SPR_ENCODE(22) |
| 248 | 259 | #define SDR1 SPR_ENCODE(25) |
| 249 | 260 | #define SRR0 SPR_ENCODE(26) |
| ... | ... | @@ -293,14 +304,50 @@ void cpu_ppc_store_decr (CPUPPCState *env, uint32_t value); |
| 293 | 304 | #define DBAT6L SPR_ENCODE(573) |
| 294 | 305 | #define DBAT7U SPR_ENCODE(574) |
| 295 | 306 | #define DBAT7L SPR_ENCODE(575) |
| 307 | +#define UMMCR0 SPR_ENCODE(936) | |
| 308 | +#define UPMC1 SPR_ENCODE(937) | |
| 309 | +#define UPMC2 SPR_ENCODE(938) | |
| 310 | +#define USIA SPR_ENCODE(939) | |
| 311 | +#define UMMCR1 SPR_ENCODE(940) | |
| 312 | +#define UPMC3 SPR_ENCODE(941) | |
| 313 | +#define UPMC4 SPR_ENCODE(942) | |
| 314 | +#define MMCR0 SPR_ENCODE(952) | |
| 315 | +#define PMC1 SPR_ENCODE(953) | |
| 316 | +#define PMC2 SPR_ENCODE(954) | |
| 317 | +#define SIA SPR_ENCODE(955) | |
| 318 | +#define MMCR1 SPR_ENCODE(956) | |
| 319 | +#define PMC3 SPR_ENCODE(957) | |
| 320 | +#define PMC4 SPR_ENCODE(958) | |
| 321 | +#define SDA SPR_ENCODE(959) | |
| 322 | +#define DMISS SPR_ENCODE(976) | |
| 323 | +#define DCMP SPR_ENCODE(977) | |
| 324 | +#define DHASH1 SPR_ENCODE(978) | |
| 325 | +#define DHASH2 SPR_ENCODE(979) | |
| 326 | +#define IMISS SPR_ENCODE(980) | |
| 327 | +#define ICMP SPR_ENCODE(981) | |
| 328 | +#define RPA SPR_ENCODE(982) | |
| 329 | +#define TCR SPR_ENCODE(984) | |
| 330 | +#define IBR SPR_ENCODE(986) | |
| 331 | +#define ESASRR SPR_ENCODE(987) | |
| 332 | +#define SEBR SPR_ENCODE(990) | |
| 333 | +#define SER SPR_ENCODE(991) | |
| 334 | +#define HID0 SPR_ENCODE(1008) | |
| 335 | +#define HID1 SPR_ENCODE(1009) | |
| 336 | +#define IABR SPR_ENCODE(1010) | |
| 337 | +#define HID2 SPR_ENCODE(1011) | |
| 296 | 338 | #define DABR SPR_ENCODE(1013) |
| 339 | +#define L2PM SPR_ENCODE(1016) | |
| 340 | +#define L2CR SPR_ENCODE(1017) | |
| 341 | +#define ICTC SPR_ENCODE(1019) | |
| 342 | +#define THRM1 SPR_ENCODE(1020) | |
| 343 | +#define THRM2 SPR_ENCODE(1021) | |
| 344 | +#define THRM3 SPR_ENCODE(1022) | |
| 345 | +#define SP SPR_ENCODE(1021) | |
| 346 | +#define LP SPR_ENCODE(1022) | |
| 297 | 347 | #define DABR_MASK 0xFFFFFFF8 |
| 298 | 348 | #define FPECR SPR_ENCODE(1022) |
| 299 | 349 | #define PIR SPR_ENCODE(1023) |
| 300 | 350 | |
| 301 | -#define TARGET_PAGE_BITS 12 | |
| 302 | -#include "cpu-all.h" | |
| 303 | - | |
| 304 | 351 | /* Memory access type : |
| 305 | 352 | * may be needed for precise access rights control and precise exceptions. |
| 306 | 353 | */ | ... | ... |