mirror of https://github.com/xemu-project/xemu.git
target/ppc: Move powerpc_mmu_t definition to 'cpu.h'
The powerpc_mmu_t definition is only used by target/ppc/, no need to expose it. Restrict it by moving it to "target/ppc/cpu.h". Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20231013125630.95116-7-philmd@linaro.org>
This commit is contained in:
parent
d66d3d4ab9
commit
6fb8b16a71
|
@ -35,49 +35,6 @@ OBJECT_DECLARE_CPU_TYPE(PowerPCCPU, PowerPCCPUClass, POWERPC_CPU)
|
|||
|
||||
#define TYPE_HOST_POWERPC_CPU POWERPC_CPU_TYPE_NAME("host")
|
||||
|
||||
/*****************************************************************************/
|
||||
/* MMU model */
|
||||
typedef enum powerpc_mmu_t powerpc_mmu_t;
|
||||
enum powerpc_mmu_t {
|
||||
POWERPC_MMU_UNKNOWN = 0x00000000,
|
||||
/* Standard 32 bits PowerPC MMU */
|
||||
POWERPC_MMU_32B = 0x00000001,
|
||||
/* PowerPC 6xx MMU with software TLB */
|
||||
POWERPC_MMU_SOFT_6xx = 0x00000002,
|
||||
/*
|
||||
* PowerPC 74xx MMU with software TLB (this has been
|
||||
* disabled, see git history for more information.
|
||||
* keywords: tlbld tlbli TLBMISS PTEHI PTELO)
|
||||
*/
|
||||
POWERPC_MMU_SOFT_74xx = 0x00000003,
|
||||
/* PowerPC 4xx MMU with software TLB */
|
||||
POWERPC_MMU_SOFT_4xx = 0x00000004,
|
||||
/* PowerPC MMU in real mode only */
|
||||
POWERPC_MMU_REAL = 0x00000006,
|
||||
/* Freescale MPC8xx MMU model */
|
||||
POWERPC_MMU_MPC8xx = 0x00000007,
|
||||
/* BookE MMU model */
|
||||
POWERPC_MMU_BOOKE = 0x00000008,
|
||||
/* BookE 2.06 MMU model */
|
||||
POWERPC_MMU_BOOKE206 = 0x00000009,
|
||||
#define POWERPC_MMU_64 0x00010000
|
||||
/* 64 bits PowerPC MMU */
|
||||
POWERPC_MMU_64B = POWERPC_MMU_64 | 0x00000001,
|
||||
/* Architecture 2.03 and later (has LPCR) */
|
||||
POWERPC_MMU_2_03 = POWERPC_MMU_64 | 0x00000002,
|
||||
/* Architecture 2.06 variant */
|
||||
POWERPC_MMU_2_06 = POWERPC_MMU_64 | 0x00000003,
|
||||
/* Architecture 2.07 variant */
|
||||
POWERPC_MMU_2_07 = POWERPC_MMU_64 | 0x00000004,
|
||||
/* Architecture 3.00 variant */
|
||||
POWERPC_MMU_3_00 = POWERPC_MMU_64 | 0x00000005,
|
||||
};
|
||||
|
||||
static inline bool mmu_is_64bit(powerpc_mmu_t mmu_model)
|
||||
{
|
||||
return mmu_model & POWERPC_MMU_64;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Input pins model */
|
||||
typedef enum powerpc_input_t powerpc_input_t;
|
||||
|
|
|
@ -219,6 +219,48 @@ typedef enum powerpc_excp_t {
|
|||
POWERPC_EXCP_POWER10,
|
||||
} powerpc_excp_t;
|
||||
|
||||
/*****************************************************************************/
|
||||
/* MMU model */
|
||||
typedef enum powerpc_mmu_t {
|
||||
POWERPC_MMU_UNKNOWN = 0x00000000,
|
||||
/* Standard 32 bits PowerPC MMU */
|
||||
POWERPC_MMU_32B = 0x00000001,
|
||||
/* PowerPC 6xx MMU with software TLB */
|
||||
POWERPC_MMU_SOFT_6xx = 0x00000002,
|
||||
/*
|
||||
* PowerPC 74xx MMU with software TLB (this has been
|
||||
* disabled, see git history for more information.
|
||||
* keywords: tlbld tlbli TLBMISS PTEHI PTELO)
|
||||
*/
|
||||
POWERPC_MMU_SOFT_74xx = 0x00000003,
|
||||
/* PowerPC 4xx MMU with software TLB */
|
||||
POWERPC_MMU_SOFT_4xx = 0x00000004,
|
||||
/* PowerPC MMU in real mode only */
|
||||
POWERPC_MMU_REAL = 0x00000006,
|
||||
/* Freescale MPC8xx MMU model */
|
||||
POWERPC_MMU_MPC8xx = 0x00000007,
|
||||
/* BookE MMU model */
|
||||
POWERPC_MMU_BOOKE = 0x00000008,
|
||||
/* BookE 2.06 MMU model */
|
||||
POWERPC_MMU_BOOKE206 = 0x00000009,
|
||||
#define POWERPC_MMU_64 0x00010000
|
||||
/* 64 bits PowerPC MMU */
|
||||
POWERPC_MMU_64B = POWERPC_MMU_64 | 0x00000001,
|
||||
/* Architecture 2.03 and later (has LPCR) */
|
||||
POWERPC_MMU_2_03 = POWERPC_MMU_64 | 0x00000002,
|
||||
/* Architecture 2.06 variant */
|
||||
POWERPC_MMU_2_06 = POWERPC_MMU_64 | 0x00000003,
|
||||
/* Architecture 2.07 variant */
|
||||
POWERPC_MMU_2_07 = POWERPC_MMU_64 | 0x00000004,
|
||||
/* Architecture 3.00 variant */
|
||||
POWERPC_MMU_3_00 = POWERPC_MMU_64 | 0x00000005,
|
||||
} powerpc_mmu_t;
|
||||
|
||||
static inline bool mmu_is_64bit(powerpc_mmu_t mmu_model)
|
||||
{
|
||||
return mmu_model & POWERPC_MMU_64;
|
||||
}
|
||||
|
||||
#define PPC_INPUT(env) ((env)->bus_model)
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
Loading…
Reference in New Issue