summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAntonio Nino Diaz <antonio.ninodiaz@arm.com>2016-02-01 13:57:25 +0000
committerAntonio Nino Diaz <antonio.ninodiaz@arm.com>2016-03-14 16:41:18 +0000
commit1c3ea103d28760a04e457678bf60725ae761c28f (patch)
treef6614d5fde45a1ffc456eb200239353512dee99f /docs
parent195d29f399759813cd42ea2b8d3133ba426e2ba2 (diff)
Remove all non-configurable dead loops
Added a new platform porting function plat_panic_handler, to allow platforms to handle unexpected error situations. It must be implemented in assembly as it may be called before the C environment is initialized. A default implementation is provided, which simply spins. Corrected all dead loops in generic code to call this function instead. This includes the dead loop that occurs at the end of the call to panic(). All unnecesary wfis from bl32/tsp/aarch64/tsp_exceptions.S have been removed. Change-Id: I67cb85f6112fa8e77bd62f5718efcef4173d8134
Diffstat (limited to 'docs')
-rw-r--r--docs/porting-guide.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/docs/porting-guide.md b/docs/porting-guide.md
index 741ee207..bd1b4489 100644
--- a/docs/porting-guide.md
+++ b/docs/porting-guide.md
@@ -783,6 +783,20 @@ Possible errors reported by the generic code are:
The default implementation simply spins.
+### Function : plat_panic_handler()
+
+ Argument : void
+ Return : void
+
+This API is called when the generic code encounters an unexpected error
+situation from which it cannot recover. This function must not return,
+and must be implemented in assembly because it may be called before the C
+environment is initialized.
+
+Note: The address from where it was called is stored in x30 (Link Register).
+
+The default implementation simply spins.
+
3. Modifications specific to a Boot Loader stage
-------------------------------------------------