diff options
Diffstat (limited to 'src/supervisor.tex')
-rw-r--r-- | src/supervisor.tex | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/supervisor.tex b/src/supervisor.tex index d10cf0a..3bd0c8b 100644 --- a/src/supervisor.tex +++ b/src/supervisor.tex @@ -1119,6 +1119,19 @@ X & W & R & Meaning \\ \label{pteperm} \end{table*} +Attempting to fetch an instruction from a page that does not have execute +permissions raises a fetch page-fault exception. Attempting to execute +a load or load-reserved instruction whose effective address lies within +a page without read permissions raises a load page-fault exception. +Attempting to execute a store, store-conditional (regardless of success), +or AMO instruction whose effective address lies within a page without +write permissions raises a store page-fault exception. +\begin{commentary} +AMOs never raise load page-fault exceptions. Since any unreadable page is +also unwritable, attempting to perform an AMO on an unreadable page always +raises a store page-fault exception. +\end{commentary} + The U bit indicates whether the page is accessible to user mode. U-mode software may only access the page when U=1. If the SUM bit in the {\tt sstatus} register is |