On LPAR systems we need to inform the hypervisor that we are using the
EBB registers. We do this by setting a bit in the Virtual Processor Area
(VPA) - formerly known as the lppaca.

For now we do this always, ie. we do not dynamically enable/disable.

Signed-off-by: Michael Ellerman <mich...@ellerman.id.au>
---
 arch/powerpc/include/asm/lppaca.h     |    3 ++-
 arch/powerpc/platforms/pseries/lpar.c |    3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/include/asm/lppaca.h 
b/arch/powerpc/include/asm/lppaca.h
index b1e7f2a..9b12f88 100644
--- a/arch/powerpc/include/asm/lppaca.h
+++ b/arch/powerpc/include/asm/lppaca.h
@@ -66,7 +66,8 @@ struct lppaca {
 
        u8      reserved6[48];
        u8      cede_latency_hint;
-       u8      reserved7[7];
+       u8      ebb_regs_in_use;
+       u8      reserved7[6];
        u8      dtl_enable_mask;        /* Dispatch Trace Log mask */
        u8      donate_dedicated_cpu;   /* Donate dedicated CPU cycles */
        u8      fpregs_in_use;
diff --git a/arch/powerpc/platforms/pseries/lpar.c 
b/arch/powerpc/platforms/pseries/lpar.c
index fd0f2f2..02d6e21 100644
--- a/arch/powerpc/platforms/pseries/lpar.c
+++ b/arch/powerpc/platforms/pseries/lpar.c
@@ -71,6 +71,9 @@ void vpa_init(int cpu)
        if (cpu_has_feature(CPU_FTR_ALTIVEC))
                lppaca_of(cpu).vmxregs_in_use = 1;
 
+       if (cpu_has_feature(CPU_FTR_ARCH_207S))
+               lppaca_of(cpu).ebb_regs_in_use = 1;
+
        addr = __pa(&lppaca_of(cpu));
        ret = register_vpa(hwcpu, addr);
 
-- 
1.7.10.4

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to