diff options
author | Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> | 2014-07-03 13:46:40 -0400 |
---|---|---|
committer | Stafford Horne <shorne@gmail.com> | 2016-12-12 09:10:26 -0500 |
commit | cdb75442fedff8cc3ddedbe6e41d00b471634e17 (patch) | |
tree | 5806594b87c978f1aacb7a69ce0e37c4c77aedc5 | |
parent | d01e1f35fee54fd7131e161956e609dfd47c1056 (diff) |
openrisc: include l.swa in check for write data pagefault
During page fault handling we check the last instruction to understand
if the fault was for a read or for a write. By default we fall back to
read. New instructions were added to the openrisc 1.1 spec for an
atomic load/store pair (l.lwa/l.swa).
This patch adds the opcode for l.swa (0x33) allowing it to be treated as
a write operation.
Signed-off-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
[shorne@gmail.com: expanded a bit on the comment]
Signed-off-by: Stafford Horne <shorne@gmail.com>
-rw-r--r-- | arch/openrisc/kernel/entry.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/openrisc/kernel/entry.S b/arch/openrisc/kernel/entry.S index 572d223dbd26..aac0bde3330c 100644 --- a/arch/openrisc/kernel/entry.S +++ b/arch/openrisc/kernel/entry.S | |||
@@ -264,7 +264,7 @@ EXCEPTION_ENTRY(_data_page_fault_handler) | |||
264 | l.srli r6,r6,26 // check opcode for write access | 264 | l.srli r6,r6,26 // check opcode for write access |
265 | #endif | 265 | #endif |
266 | 266 | ||
267 | l.sfgeui r6,0x34 // check opcode for write access | 267 | l.sfgeui r6,0x33 // check opcode for write access |
268 | l.bnf 1f | 268 | l.bnf 1f |
269 | l.sfleui r6,0x37 | 269 | l.sfleui r6,0x37 |
270 | l.bnf 1f | 270 | l.bnf 1f |