From ed0e9c8223d2ca992eb819deca27836755fe47d1 Mon Sep 17 00:00:00 2001 From: Mauricio Faria de Oliveira Date: Mon, 7 May 2018 19:12:53 -0300 Subject: [PATCH] UBUNTU: SAUCE: rfi-flush: update H_CPU_* macro names to upstream This is present in upstream commit: 191eccb powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper And the missing macros will be added shortly with upstream commit: c4bc366 powerpc/pseries: Add new H_GET_CPU_CHARACTERISTICS flags This will help with future backports. Signed-off-by: Mauricio Faria de Oliveira CVE-2018-3639 (powerpc) Signed-off-by: Stefan Bader --- arch/powerpc/include/asm/hvcall.h | 20 +++++++++----------- arch/powerpc/platforms/pseries/setup.c | 6 +++--- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/arch/powerpc/include/asm/hvcall.h b/arch/powerpc/include/asm/hvcall.h index a55243a8e7de..476d2d78d08f 100644 --- a/arch/powerpc/include/asm/hvcall.h +++ b/arch/powerpc/include/asm/hvcall.h @@ -320,17 +320,15 @@ /* >= 0 values are CPU number */ /* H_GET_CPU_CHARACTERISTICS return values */ -#define H_GET_CPU_CHAR_CHAR_ORI31_SPEC_BAR PPC_BIT(0) -#define H_GET_CPU_CHAR_CHAR_BCCTR_SERIAL PPC_BIT(1) -#define H_GET_CPU_CHAR_CHAR_ORI30_L1_FLUSH PPC_BIT(2) -#define H_GET_CPU_CHAR_CHAR_MTTRIG2_L1_FLUSH PPC_BIT(3) -#define H_GET_CPU_CHAR_CHAR_L1D_PRIVATE PPC_BIT(4) -#define H_GET_CPU_CHAR_CHAR_BC_HINTS_HONORED PPC_BIT(5) -#define H_GET_CPU_CHAR_CHAR_MTTRID01_THR_CFG PPC_BIT(6) - -#define H_GET_CPU_CHAR_BEHAV_FAV_SEC_VS_PERF PPC_BIT(0) -#define H_GET_CPU_CHAR_BEHAV_L1_FLUSH_LOW_PRIV PPC_BIT(1) -#define H_GET_CPU_CHAR_BEHAV_SPEC_BAR_BNDS_CHK PPC_BIT(2) +#define H_CPU_CHAR_SPEC_BAR_ORI31 (1ull << 63) // IBM bit 0 +#define H_CPU_CHAR_BCCTRL_SERIALISED (1ull << 62) // IBM bit 1 +#define H_CPU_CHAR_L1D_FLUSH_ORI30 (1ull << 61) // IBM bit 2 +#define H_CPU_CHAR_L1D_FLUSH_TRIG2 (1ull << 60) // IBM bit 3 +#define H_CPU_CHAR_L1D_THREAD_PRIV (1ull << 59) // IBM bit 4 + +#define H_CPU_BEHAV_FAVOUR_SECURITY (1ull << 63) // IBM bit 0 +#define H_CPU_BEHAV_L1D_FLUSH_PR (1ull << 62) // IBM bit 1 +#define H_CPU_BEHAV_BNDS_CHK_SPEC_BAR (1ull << 61) // IBM bit 2 /* Flag values used in H_REGISTER_PROC_TBL hcall */ #define PROC_TABLE_OP_MASK 0x18 diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c index 6fbf374fde0f..06d9dc7fb2d9 100644 --- a/arch/powerpc/platforms/pseries/setup.c +++ b/arch/powerpc/platforms/pseries/setup.c @@ -468,16 +468,16 @@ static void pSeries_setup_rfi_flush(void) if (rc == H_SUCCESS) { types = L1D_FLUSH_NONE; - if (character & H_GET_CPU_CHAR_CHAR_MTTRIG2_L1_FLUSH) + if (character & H_CPU_CHAR_L1D_FLUSH_TRIG2) types |= L1D_FLUSH_MTTRIG; - if (character & H_GET_CPU_CHAR_CHAR_ORI30_L1_FLUSH) + if (character & H_CPU_CHAR_L1D_FLUSH_ORI30) types |= L1D_FLUSH_ORI; /* Use fallback if nothing set in hcall */ if (types == L1D_FLUSH_NONE) types = L1D_FLUSH_FALLBACK; - if (!(behaviour & H_GET_CPU_CHAR_BEHAV_L1_FLUSH_LOW_PRIV)) + if (!(behaviour & H_CPU_BEHAV_L1D_FLUSH_PR)) enable = false; } else { /* Default to fallback if case hcall is not available */ -- 2.39.2