From: Michael Neuling Date: Tue, 5 Mar 2013 17:35:24 +0000 (+0000) Subject: powerpc: Setup in HFSCR for POWER8 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=2a3563b023e5f99e1ec48b66b4caeac94584e7c7;p=openwrt%2Fstaging%2Fblogic.git powerpc: Setup in HFSCR for POWER8 Setup the HFSCR (Hypervisor Facility Status and Control Register) for POWER8 when running HV=1. The HFSCR is the same as the FSCR except it's for hypervisors. It controls the available of various facilities in OS and userspace levels. It also indicates the cause of a hypervisor facility unavailable interrupt (although we are not using this here). This patch sets the facilities Linux knows about incase the firmware doesn't. Signed-off-by: Michael Neuling Signed-off-by: Michael Ellerman --- diff --git a/arch/powerpc/kernel/cpu_setup_power.S b/arch/powerpc/kernel/cpu_setup_power.S index ea847abb0d0a..2e6ad1180e9c 100644 --- a/arch/powerpc/kernel/cpu_setup_power.S +++ b/arch/powerpc/kernel/cpu_setup_power.S @@ -57,6 +57,7 @@ _GLOBAL(__setup_cpu_power8) mfspr r3,SPRN_LPCR oris r3, r3, LPCR_AIL_3@h bl __init_LPCR + bl __init_HFSCR bl __init_TLB mtlr r11 blr @@ -72,6 +73,7 @@ _GLOBAL(__restore_cpu_power8) mfspr r3,SPRN_LPCR oris r3, r3, LPCR_AIL_3@h bl __init_LPCR + bl __init_HFSCR bl __init_TLB mtlr r11 blr @@ -120,6 +122,12 @@ __init_FSCR: mtspr SPRN_FSCR,r3 blr +__init_HFSCR: + mfspr r3,SPRN_HFSCR + ori r3,r3,HFSCR_TAR|HFSCR_TM|HFSCR_DSCR|HFSCR_VECVSX|HFSCR_FP + mtspr SPRN_HFSCR,r3 + blr + __init_TLB: /* Clear the TLB */ li r6,128