diff options
author | Soby Mathew <soby.mathew@arm.com> | 2019-09-13 15:22:23 +0000 |
---|---|---|
committer | TrustedFirmware Code Review <review@review.trustedfirmware.org> | 2019-09-13 15:22:23 +0000 |
commit | 6129e9a643274e658a0e6f5428ad976676c7bb7a (patch) | |
tree | 04ab176ebe7086290e4f788566d3d25b647a086f /lib/psci | |
parent | 2cb662f3d0676099d469478be17e5889014677e6 (diff) | |
parent | ed108b56051de5da8024568a06781ce287e86c78 (diff) |
Merge "Refactor ARMv8.3 Pointer Authentication support code" into integration
Diffstat (limited to 'lib/psci')
-rw-r--r-- | lib/psci/psci_setup.c | 8 | ||||
-rw-r--r-- | lib/psci/psci_suspend.c | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/lib/psci/psci_setup.c b/lib/psci/psci_setup.c index b9467d3e..853f9157 100644 --- a/lib/psci/psci_setup.c +++ b/lib/psci/psci_setup.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -280,6 +280,12 @@ void psci_arch_setup(void) /* Having initialized cpu_ops, we can now print errata status */ print_errata_status(); + +#if ENABLE_PAUTH + /* Store APIAKey_EL1 key */ + set_cpu_data(apiakey[0], read_apiakeylo_el1()); + set_cpu_data(apiakey[1], read_apiakeyhi_el1()); +#endif /* ENABLE_PAUTH */ } /****************************************************************************** diff --git a/lib/psci/psci_suspend.c b/lib/psci/psci_suspend.c index 6d5c099f..98dd2d62 100644 --- a/lib/psci/psci_suspend.c +++ b/lib/psci/psci_suspend.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -304,6 +304,12 @@ void psci_cpu_suspend_finish(int cpu_idx, const psci_power_state_t *state_info) counter_freq = plat_get_syscnt_freq2(); write_cntfrq_el0(counter_freq); +#if ENABLE_PAUTH + /* Store APIAKey_EL1 key */ + set_cpu_data(apiakey[0], read_apiakeylo_el1()); + set_cpu_data(apiakey[1], read_apiakeyhi_el1()); +#endif /* ENABLE_PAUTH */ + /* * Call the cpu suspend finish handler registered by the Secure Payload * Dispatcher to let it do any bookeeping. If the handler encounters an |