Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
5e810a85
Commit
5e810a85
authored
Feb 28, 2017
by
danh-arm
Committed by
GitHub
Feb 28, 2017
Browse files
Merge pull request #847 from douglas-raillard-arm/dr/fix_abort_smc
Fix TSPD implementation of STD SMC ABORT
parents
7befa5a9
57a5a56c
Changes
1
Show whitespace changes
Inline
Side-by-side
services/spd/tspd/tspd_main.c
View file @
5e810a85
...
@@ -612,15 +612,26 @@ uint64_t tspd_smc_handler(uint32_t smc_fid,
...
@@ -612,15 +612,26 @@ uint64_t tspd_smc_handler(uint32_t smc_fid,
break
;
break
;
}
}
assert
(
handle
==
cm_get_context
(
NON_SECURE
));
cm_el1_sysregs_context_save
(
NON_SECURE
);
/* Abort the preempted SMC request */
/* Abort the preempted SMC request */
if
(
!
tspd_abort_preempted_smc
(
tsp_ctx
))
if
(
!
tspd_abort_preempted_smc
(
tsp_ctx
))
{
/*
/*
* If there was no preempted SMC to abort, return
* If there was no preempted SMC to abort, return
* SMC_UNK.
* SMC_UNK.
*
* Restoring the NON_SECURE context is not necessary as
* the synchronous entry did not take place if the
* return code of tspd_abort_preempted_smc is zero.
*/
*/
SMC_RET1
(
handle
,
SMC_UNK
);
cm_set_next_eret_context
(
NON_SECURE
);
break
;
break
;
}
cm_el1_sysregs_context_restore
(
NON_SECURE
);
cm_set_next_eret_context
(
NON_SECURE
);
SMC_RET0
(
handle
);
/*
/*
* Request from non secure world to resume the preempted
* Request from non secure world to resume the preempted
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment