Revision 0411a972 target-ppc/cpu.h

b/target-ppc/cpu.h
368 368
#define MSR_DE   9  /* Debug interrupts enable on embedded PowerPC  x        */
369 369
#define MSR_FE1  8  /* Floating point exception mode 1                hflags */
370 370
#define MSR_AL   7  /* AL bit on POWER                                       */
371
#define MSR_EP   3  /* Exception prefix on 601                               */
371
#define MSR_EP   6  /* Exception prefix on 601                               */
372 372
#define MSR_IR   5  /* Instruction relocate                                  */
373 373
#define MSR_DR   4  /* Data relocate                                         */
374 374
#define MSR_PE   3  /* Protection enable on 403                              */
......
376 376
#define MSR_PMM  2  /* Performance monitor mark on POWER            x        */
377 377
#define MSR_RI   1  /* Recoverable interrupt                        1        */
378 378
#define MSR_LE   0  /* Little-endian mode                           1 hflags */
379
#define msr_sf   env->msr[MSR_SF]
380
#define msr_isf  env->msr[MSR_ISF]
381
#define msr_hv   env->msr[MSR_HV]
382
#define msr_cm   env->msr[MSR_CM]
383
#define msr_icm  env->msr[MSR_ICM]
384
#define msr_ucle env->msr[MSR_UCLE]
385
#define msr_vr   env->msr[MSR_VR]
386
#define msr_spe  env->msr[MSR_SPE]
387
#define msr_ap   env->msr[MSR_AP]
388
#define msr_sa   env->msr[MSR_SA]
389
#define msr_key  env->msr[MSR_KEY]
390
#define msr_pow  env->msr[MSR_POW]
391
#define msr_tgpr env->msr[MSR_TGPR]
392
#define msr_ce   env->msr[MSR_CE]
393
#define msr_ile  env->msr[MSR_ILE]
394
#define msr_ee   env->msr[MSR_EE]
395
#define msr_pr   env->msr[MSR_PR]
396
#define msr_fp   env->msr[MSR_FP]
397
#define msr_me   env->msr[MSR_ME]
398
#define msr_fe0  env->msr[MSR_FE0]
399
#define msr_se   env->msr[MSR_SE]
400
#define msr_dwe  env->msr[MSR_DWE]
401
#define msr_uble env->msr[MSR_UBLE]
402
#define msr_be   env->msr[MSR_BE]
403
#define msr_de   env->msr[MSR_DE]
404
#define msr_fe1  env->msr[MSR_FE1]
405
#define msr_al   env->msr[MSR_AL]
406
#define msr_ir   env->msr[MSR_IR]
407
#define msr_dr   env->msr[MSR_DR]
408
#define msr_pe   env->msr[MSR_PE]
409
#define msr_ep   env->msr[MSR_EP]
410
#define msr_px   env->msr[MSR_PX]
411
#define msr_pmm  env->msr[MSR_PMM]
412
#define msr_ri   env->msr[MSR_RI]
413
#define msr_le   env->msr[MSR_LE]
379

  
380
#define msr_sf   ((env->msr >> MSR_SF)   & 1)
381
#define msr_isf  ((env->msr >> MSR_ISF)  & 1)
382
#define msr_hv   ((env->msr >> MSR_HV)   & 1)
383
#define msr_cm   ((env->msr >> MSR_CM)   & 1)
384
#define msr_icm  ((env->msr >> MSR_ICM)  & 1)
385
#define msr_ucle ((env->msr >> MSR_UCLE) & 1)
386
#define msr_vr   ((env->msr >> MSR_VR)   & 1)
387
#define msr_spe  ((env->msr >> MSR_SE)   & 1)
388
#define msr_ap   ((env->msr >> MSR_AP)   & 1)
389
#define msr_sa   ((env->msr >> MSR_SA)   & 1)
390
#define msr_key  ((env->msr >> MSR_KEY)  & 1)
391
#define msr_pow  ((env->msr >> MSR_POW)  & 1)
392
#define msr_tgpr ((env->msr >> MSR_TGPR) & 1)
393
#define msr_ce   ((env->msr >> MSR_CE)   & 1)
394
#define msr_ile  ((env->msr >> MSR_ILE)  & 1)
395
#define msr_ee   ((env->msr >> MSR_EE)   & 1)
396
#define msr_pr   ((env->msr >> MSR_PR)   & 1)
397
#define msr_fp   ((env->msr >> MSR_FP)   & 1)
398
#define msr_me   ((env->msr >> MSR_ME)   & 1)
399
#define msr_fe0  ((env->msr >> MSR_FE0)  & 1)
400
#define msr_se   ((env->msr >> MSR_SE)   & 1)
401
#define msr_dwe  ((env->msr >> MSR_DWE)  & 1)
402
#define msr_uble ((env->msr >> MSR_UBLE) & 1)
403
#define msr_be   ((env->msr >> MSR_BE)   & 1)
404
#define msr_de   ((env->msr >> MSR_DE)   & 1)
405
#define msr_fe1  ((env->msr >> MSR_FE1)  & 1)
406
#define msr_al   ((env->msr >> MSR_AL)   & 1)
407
#define msr_ep   ((env->msr >> MSR_EP)   & 1)
408
#define msr_ir   ((env->msr >> MSR_IR)   & 1)
409
#define msr_dr   ((env->msr >> MSR_DR)   & 1)
410
#define msr_pe   ((env->msr >> MSR_PE)   & 1)
411
#define msr_px   ((env->msr >> MSR_PX)   & 1)
412
#define msr_pmm  ((env->msr >> MSR_PMM)  & 1)
413
#define msr_ri   ((env->msr >> MSR_RI)   & 1)
414
#define msr_le   ((env->msr >> MSR_LE)   & 1)
414 415

  
415 416
enum {
416 417
    POWERPC_FLAG_NONE = 0x00000000,
......
468 469

  
469 470
    /* Those ones are used in supervisor mode only */
470 471
    /* machine state register */
471
    uint8_t msr[64];
472
    target_ulong msr;
472 473
    /* temporary general purpose registers */
473 474
    ppc_gpr_t tgpr[4]; /* Used to speed-up TLB assist handlers */
474 475

  
......
639 640
#endif /* !defined(CONFIG_USER_ONLY) */
640 641
target_ulong ppc_load_xer (CPUPPCState *env);
641 642
void ppc_store_xer (CPUPPCState *env, target_ulong value);
642
target_ulong do_load_msr (CPUPPCState *env);
643
int do_store_msr (CPUPPCState *env, target_ulong value);
644
#if defined(TARGET_PPC64)
645
int ppc_store_msr_32 (CPUPPCState *env, uint32_t value);
646
#endif
643
void ppc_store_msr (CPUPPCState *env, target_ulong value);
647 644

  
648
void do_compute_hflags (CPUPPCState *env);
649 645
void cpu_ppc_reset (void *opaque);
650 646
CPUPPCState *cpu_ppc_init (void);
651 647
void cpu_ppc_close(CPUPPCState *env);

Also available in: Unified diff