summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu
diff options
context:
space:
mode:
authorTill Straumann <strauman@slac.stanford.edu>2008-07-10 21:28:38 +0000
committerTill Straumann <strauman@slac.stanford.edu>2008-07-10 21:28:38 +0000
commit055173d46a688b402e20662c32e83eecb08c0a59 (patch)
tree287c76b525948e08ceafcb79baef936960d860ff /c/src/lib/libcpu
parent2008-07-10 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-055173d46a688b402e20662c32e83eecb08c0a59.tar.bz2
2008-07-10 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/bspsupport/README: added more information
Diffstat (limited to 'c/src/lib/libcpu')
-rw-r--r--c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/README16
1 files changed, 16 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/README b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/README
index fc58482382..b6522312d4 100644
--- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/README
+++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/README
@@ -388,3 +388,19 @@ RACE CONDITION WHEN DEALING WITH CRITICAL INTERRUPTS
handler would not, eventually, check for a
dispatch requirement).
+ And one more note: We never want to disable
+ machine-check exceptions to avoid a checkstop.
+ This means that we cannot use enabling/disabling
+ this type of exception for protection of critical
+ OS data structures.
+ Therefore, calling OS primitives from a asynchronous
+ machine-check handler is ILLEGAL and not supported.
+ Since machine-checks can happen anytime it is not
+ legal to test if a deferred context switch should
+ be performed when the asynchronous machine-check
+ handler returns (since _Context_Switch_is_necessary
+ could have been set by a IRQ-protected section of
+ code that was hit by the machine-check).
+ Note that synchronous machine-checks can legally
+ use OS primitives and currently there are no
+ asynchronous machine-checks defined.