cpu.h (cbc3a6a4cc675516328a2b0d3602355d68b6302d) | cpu.h (84f8f5876628963e67f66edde8a71208c4274ac8) |
---|---|
1#ifndef SPARC_CPU_H 2#define SPARC_CPU_H 3 4#include "qemu-common.h" 5#include "qemu/bswap.h" 6#include "cpu-qom.h" 7 8#define ALIGNED_ONLY --- 216 unchanged lines hidden (view full) --- 225 226/* 3 <= NWINDOWS <= 32. */ 227#define MIN_NWINDOWS 3 228#define MAX_NWINDOWS 32 229 230#if !defined(TARGET_SPARC64) 231#define NB_MMU_MODES 3 232#else | 1#ifndef SPARC_CPU_H 2#define SPARC_CPU_H 3 4#include "qemu-common.h" 5#include "qemu/bswap.h" 6#include "cpu-qom.h" 7 8#define ALIGNED_ONLY --- 216 unchanged lines hidden (view full) --- 225 226/* 3 <= NWINDOWS <= 32. */ 227#define MIN_NWINDOWS 3 228#define MAX_NWINDOWS 32 229 230#if !defined(TARGET_SPARC64) 231#define NB_MMU_MODES 3 232#else |
233#define NB_MMU_MODES 7 | 233#define NB_MMU_MODES 6 |
234typedef struct trap_state { 235 uint64_t tpc; 236 uint64_t tnpc; 237 uint64_t tstate; 238 uint32_t tt; 239} trap_state; 240#endif 241#define TARGET_INSN_START_EXTRA_WORDS 1 --- 429 unchanged lines hidden (view full) --- 671 672/* MMU modes definitions */ 673#if defined (TARGET_SPARC64) 674#define MMU_USER_IDX 0 675#define MMU_USER_SECONDARY_IDX 1 676#define MMU_KERNEL_IDX 2 677#define MMU_KERNEL_SECONDARY_IDX 3 678#define MMU_NUCLEUS_IDX 4 | 234typedef struct trap_state { 235 uint64_t tpc; 236 uint64_t tnpc; 237 uint64_t tstate; 238 uint32_t tt; 239} trap_state; 240#endif 241#define TARGET_INSN_START_EXTRA_WORDS 1 --- 429 unchanged lines hidden (view full) --- 671 672/* MMU modes definitions */ 673#if defined (TARGET_SPARC64) 674#define MMU_USER_IDX 0 675#define MMU_USER_SECONDARY_IDX 1 676#define MMU_KERNEL_IDX 2 677#define MMU_KERNEL_SECONDARY_IDX 3 678#define MMU_NUCLEUS_IDX 4 |
679#define MMU_HYPV_IDX 5 680#define MMU_PHYS_IDX 6 | 679#define MMU_PHYS_IDX 5 |
681#else 682#define MMU_USER_IDX 0 683#define MMU_KERNEL_IDX 1 684#define MMU_PHYS_IDX 2 685#endif 686 687#if defined (TARGET_SPARC64) 688static inline int cpu_has_hypervisor(CPUSPARCState *env1) --- 29 unchanged lines hidden (view full) --- 718 } 719#else 720 /* IMMU or DMMU disabled. */ 721 if (ifetch 722 ? (env->lsu & IMMU_E) == 0 || (env->pstate & PS_RED) != 0 723 : (env->lsu & DMMU_E) == 0) { 724 return MMU_PHYS_IDX; 725 } else if (cpu_hypervisor_mode(env)) { | 680#else 681#define MMU_USER_IDX 0 682#define MMU_KERNEL_IDX 1 683#define MMU_PHYS_IDX 2 684#endif 685 686#if defined (TARGET_SPARC64) 687static inline int cpu_has_hypervisor(CPUSPARCState *env1) --- 29 unchanged lines hidden (view full) --- 717 } 718#else 719 /* IMMU or DMMU disabled. */ 720 if (ifetch 721 ? (env->lsu & IMMU_E) == 0 || (env->pstate & PS_RED) != 0 722 : (env->lsu & DMMU_E) == 0) { 723 return MMU_PHYS_IDX; 724 } else if (cpu_hypervisor_mode(env)) { |
726 return MMU_HYPV_IDX; | 725 return MMU_PHYS_IDX; |
727 } else if (env->tl > 0) { 728 return MMU_NUCLEUS_IDX; 729 } else if (cpu_supervisor_mode(env)) { 730 return MMU_KERNEL_IDX; 731 } else { 732 return MMU_USER_IDX; 733 } 734#endif --- 97 unchanged lines hidden --- | 726 } else if (env->tl > 0) { 727 return MMU_NUCLEUS_IDX; 728 } else if (cpu_supervisor_mode(env)) { 729 return MMU_KERNEL_IDX; 730 } else { 731 return MMU_USER_IDX; 732 } 733#endif --- 97 unchanged lines hidden --- |