powerpc/pseries: Use the security flags in pseries_setup_rfi_flush()
commit 2e4a16161fcd324b1f9bf6cb6856529f7eaf0689 upstream. Now that we have the security flags we can simplify the code in pseries_setup_rfi_flush() because the security flags have pessimistic defaults. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
10f8cd737a
commit
5097bf81e8
1 changed files with 12 additions and 15 deletions
|
@ -541,30 +541,27 @@ void pseries_setup_rfi_flush(void)
|
|||
bool enable;
|
||||
long rc;
|
||||
|
||||
/* Enable by default */
|
||||
enable = true;
|
||||
types = L1D_FLUSH_FALLBACK;
|
||||
|
||||
rc = plpar_get_cpu_characteristics(&result);
|
||||
if (rc == H_SUCCESS) {
|
||||
if (rc == H_SUCCESS)
|
||||
init_cpu_char_feature_flags(&result);
|
||||
|
||||
if (result.character & H_CPU_CHAR_L1D_FLUSH_TRIG2)
|
||||
types |= L1D_FLUSH_MTTRIG;
|
||||
if (result.character & H_CPU_CHAR_L1D_FLUSH_ORI30)
|
||||
types |= L1D_FLUSH_ORI;
|
||||
|
||||
if ((!(result.behaviour & H_CPU_BEHAV_L1D_FLUSH_PR)) ||
|
||||
(!(result.behaviour & H_CPU_BEHAV_FAVOUR_SECURITY)))
|
||||
enable = false;
|
||||
}
|
||||
|
||||
/*
|
||||
* We're the guest so this doesn't apply to us, clear it to simplify
|
||||
* handling of it elsewhere.
|
||||
*/
|
||||
security_ftr_clear(SEC_FTR_L1D_FLUSH_HV);
|
||||
|
||||
types = L1D_FLUSH_FALLBACK;
|
||||
|
||||
if (security_ftr_enabled(SEC_FTR_L1D_FLUSH_TRIG2))
|
||||
types |= L1D_FLUSH_MTTRIG;
|
||||
|
||||
if (security_ftr_enabled(SEC_FTR_L1D_FLUSH_ORI30))
|
||||
types |= L1D_FLUSH_ORI;
|
||||
|
||||
enable = security_ftr_enabled(SEC_FTR_FAVOUR_SECURITY) && \
|
||||
security_ftr_enabled(SEC_FTR_L1D_FLUSH_PR);
|
||||
|
||||
setup_rfi_flush(types, enable);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue