mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-27 07:15:20 +00:00
Merge pull request #1339 from dp-arm/dp/smccc
Fixup SMCCC_FEATURES return value for SMCCC_ARCH_WORKAROUND_1
This commit is contained in:
commit
02956560a2
2 changed files with 9 additions and 8 deletions
|
@ -18,7 +18,11 @@ TF-A exports a series of build flags which control which security
|
||||||
vulnerability workarounds should be applied at runtime.
|
vulnerability workarounds should be applied at runtime.
|
||||||
|
|
||||||
- ``WORKAROUND_CVE_2017_5715``: Enables the security workaround for
|
- ``WORKAROUND_CVE_2017_5715``: Enables the security workaround for
|
||||||
`CVE-2017-5715`_. Defaults to 1.
|
`CVE-2017-5715`_. This flag can be set to 0 by the platform if none
|
||||||
|
of the PEs in the system need the workaround. Setting this flag to 0 provides
|
||||||
|
no performance benefit for non-affected platforms, it just helps to comply
|
||||||
|
with the recommendation in the spec regarding workaround discovery.
|
||||||
|
Defaults to 1.
|
||||||
|
|
||||||
CPU Errata Workarounds
|
CPU Errata Workarounds
|
||||||
----------------------
|
----------------------
|
||||||
|
|
|
@ -19,19 +19,16 @@ static int32_t smccc_version(void)
|
||||||
|
|
||||||
static int32_t smccc_arch_features(u_register_t arg)
|
static int32_t smccc_arch_features(u_register_t arg)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
|
|
||||||
switch (arg) {
|
switch (arg) {
|
||||||
case SMCCC_VERSION:
|
case SMCCC_VERSION:
|
||||||
case SMCCC_ARCH_FEATURES:
|
case SMCCC_ARCH_FEATURES:
|
||||||
return SMC_OK;
|
return SMC_OK;
|
||||||
|
#if WORKAROUND_CVE_2017_5715
|
||||||
case SMCCC_ARCH_WORKAROUND_1:
|
case SMCCC_ARCH_WORKAROUND_1:
|
||||||
ret = check_workaround_cve_2017_5715();
|
if (check_workaround_cve_2017_5715() == ERRATA_NOT_APPLIES)
|
||||||
if (ret == ERRATA_APPLIES)
|
|
||||||
return 0;
|
|
||||||
else if (ret == ERRATA_NOT_APPLIES)
|
|
||||||
return 1;
|
return 1;
|
||||||
return -1; /* ERRATA_MISSING */
|
return 0; /* ERRATA_APPLIES || ERRATA_MISSING */
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
return SMC_UNK;
|
return SMC_UNK;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue