|
@@ -501,6 +501,12 @@ static void init_cpu_char_feature_flags(struct h_cpu_char_result *result)
|
|
if (result->character & H_CPU_CHAR_COUNT_CACHE_DISABLED)
|
|
if (result->character & H_CPU_CHAR_COUNT_CACHE_DISABLED)
|
|
security_ftr_set(SEC_FTR_COUNT_CACHE_DISABLED);
|
|
security_ftr_set(SEC_FTR_COUNT_CACHE_DISABLED);
|
|
|
|
|
|
|
|
+ if (result->character & H_CPU_CHAR_BCCTR_FLUSH_ASSIST)
|
|
|
|
+ security_ftr_set(SEC_FTR_BCCTR_FLUSH_ASSIST);
|
|
|
|
+
|
|
|
|
+ if (result->behaviour & H_CPU_BEHAV_FLUSH_COUNT_CACHE)
|
|
|
|
+ security_ftr_set(SEC_FTR_FLUSH_COUNT_CACHE);
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* The features below are enabled by default, so we instead look to see
|
|
* The features below are enabled by default, so we instead look to see
|
|
* if firmware has *disabled* them, and clear them if so.
|
|
* if firmware has *disabled* them, and clear them if so.
|
|
@@ -551,6 +557,7 @@ void pseries_setup_rfi_flush(void)
|
|
security_ftr_enabled(SEC_FTR_L1D_FLUSH_PR);
|
|
security_ftr_enabled(SEC_FTR_L1D_FLUSH_PR);
|
|
|
|
|
|
setup_rfi_flush(types, enable);
|
|
setup_rfi_flush(types, enable);
|
|
|
|
+ setup_count_cache_flush();
|
|
}
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_PCI_IOV
|
|
#ifdef CONFIG_PCI_IOV
|