target-ppc: POWER8 supports the MSR_LE bit
PATCH 1/4 target-ppc: POWER8 supports the MSR_LE bit
Add MSR_LE to the msr_mask for POWER8.
Signed-off-by Anton Blanchard <[email protected]>
---
target-ppc/translate_init.c +1 -1
@@ -7173,7 +7173,7 @@ POWERPC_FAMILY(POWER8)(ObjectClass *oc, void *data)PPC2_ATOMIC_ISA206 |PPC2_FP_CVT_ISA206 |PPC2_FP_TST_ISA206 |PPC2_BCTAR_ISA207 |PPC2_LSQ_ISA207 |PPC2_ALTIVEC_207 ; - pcc->msr_mask =0x800000000284FF36ULL ; + pcc->msr_mask =0x800000000284FF37ULL ; pcc->mmu_model =POWERPC_MMU_2_06 ;#if defined(CONFIG_SOFTMMU ) pcc->handle_mmu_fault = ppc_hash64_handle_mmu_fault;
PATCH 2/4 target-ppc: POWER8 supports isel
POWER8 supports isel, so enable it in QEMU.
Signed-off-by Anton Blanchard <[email protected]>
---
target-ppc/translate_init.c +1 -1
@@ -7156,7 +7156,7 @@ POWERPC_FAMILY(POWER8)(ObjectClass *oc, void *data) pcc->pvr_mask =CPU_POWERPC_POWER8_MASK ; pcc->init_proc = init_proc_POWER8; pcc->check_pow = check_pow_nocheck; - pcc->insns_flags =PPC_INSNS_BASE |PPC_STRING |PPC_MFTB | + pcc->insns_flags =PPC_INSNS_BASE |PPC_ISEL |PPC_STRING |PPC_MFTB |PPC_FLOAT |PPC_FLOAT_FSEL |PPC_FLOAT_FRES |PPC_FLOAT_FSQRT |PPC_FLOAT_FRSQRTE | PPC_FLOAT_FRSQRTES |
PATCH 3/4 target-ppc: POWER7+ supports the MSR_VSX bit
In reply to Anton BlanchardWithout MSR_VSX we die early during a Linux boot.
Signed-off-by Anton Blanchard <[email protected]>
---
target-ppc/translate_init.c +1 -1
@@ -7117,7 +7117,7 @@ POWERPC_FAMILY(POWER7P)(ObjectClass *oc,PPC2_PERM_ISA206 |PPC2_DIVE_ISA206 |PPC2_ATOMIC_ISA206 |PPC2_FP_CVT_ISA206 |PPC2_FP_TST_ISA206 ; - pcc->msr_mask =0x800000000204FF37ULL ; + pcc->msr_mask =0x800000000284FF37ULL ; pcc->mmu_model =POWERPC_MMU_2_06 ;#if defined(CONFIG_SOFTMMU ) pcc->handle_mmu_fault = ppc_hash64_handle_mmu_fault;
PATCH 4/4 target-ppc: MSR_POW not supported on POWER7/7+/8
In reply to Anton BlanchardRemove MSR_POW from the msr_mask for POWER7/7+/8.
Signed-off-by Anton Blanchard <[email protected]>
---
target-ppc/translate_init.c +3 -3
@@ -7074,7 +7074,7 @@ POWERPC_FAMILY(POWER7)(ObjectClass *oc,PPC2_PERM_ISA206 |PPC2_DIVE_ISA206 |PPC2_ATOMIC_ISA206 |PPC2_FP_CVT_ISA206 |PPC2_FP_TST_ISA206 ; - pcc->msr_mask =0x800000000284FF37ULL ; + pcc->msr_mask =0x800000000280FF37ULL ; pcc->mmu_model =POWERPC_MMU_2_06 ;#if defined(CONFIG_SOFTMMU ) pcc->handle_mmu_fault = ppc_hash64_handle_mmu_fault;
@@ -7117,7 +7117,7 @@ POWERPC_FAMILY(POWER7P)(ObjectClass *oc,PPC2_PERM_ISA206 |PPC2_DIVE_ISA206 |PPC2_ATOMIC_ISA206 |PPC2_FP_CVT_ISA206 |PPC2_FP_TST_ISA206 ; - pcc->msr_mask =0x800000000284FF37ULL ; + pcc->msr_mask =0x800000000280FF37ULL ; pcc->mmu_model =POWERPC_MMU_2_06 ;#if defined(CONFIG_SOFTMMU ) pcc->handle_mmu_fault = ppc_hash64_handle_mmu_fault;
@@ -7173,7 +7173,7 @@ POWERPC_FAMILY(POWER8)(ObjectClass *oc,PPC2_ATOMIC_ISA206 |PPC2_FP_CVT_ISA206 |PPC2_FP_TST_ISA206 |PPC2_BCTAR_ISA207 |PPC2_LSQ_ISA207 |PPC2_ALTIVEC_207 ; - pcc->msr_mask =0x800000000284FF37ULL ; + pcc->msr_mask =0x800000000280FF37ULL ; pcc->mmu_model =POWERPC_MMU_2_06 ;#if defined(CONFIG_SOFTMMU ) pcc->handle_mmu_fault = ppc_hash64_handle_mmu_fault;