diff options
author | Daniel Boulby <daniel.boulby@arm.com> | 2021-10-22 11:37:34 +0100 |
---|---|---|
committer | Daniel Boulby <daniel.boulby@arm.com> | 2022-02-03 11:33:55 +0000 |
commit | 4d4821569d15c3411a6fe5dcfc791d6b28c6d6a9 (patch) | |
tree | 31680f82bf1cff9f355ac12c86d0e60fd1293147 /services/spd | |
parent | 7d33ffe4c116506ed63e820d5b6edad81680cd11 (diff) |
test(el3-runtime): dit is retained on world switch
Add tsp service to check the value of the PSTATE DIT bit is as
expected and toggle it's value. This is used to ensure that
the DIT bit is maintained during a switch from the Normal to
Secure worlds and back.
Change-Id: I4e8bdfa6530e5e75925c0079d4fa2795133c5105
Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
Diffstat (limited to 'services/spd')
-rw-r--r-- | services/spd/tspd/tspd_main.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/spd/tspd/tspd_main.c b/services/spd/tspd/tspd_main.c index 29fc238ae..6cb4992a2 100644 --- a/services/spd/tspd/tspd_main.c +++ b/services/spd/tspd/tspd_main.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2021, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2022, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -570,6 +570,11 @@ static uintptr_t tspd_smc_handler(uint32_t smc_fid, case TSP_YIELD_FID(TSP_SUB): case TSP_YIELD_FID(TSP_MUL): case TSP_YIELD_FID(TSP_DIV): + /* + * Request from non-secure client to perform a check + * of the DIT PSTATE bit. + */ + case TSP_YIELD_FID(TSP_CHECK_DIT): if (ns) { /* * This is a fresh request from the non-secure client. |