summaryrefslogtreecommitdiff
path: root/cpu
diff options
context:
space:
mode:
authorStefan Kristiansson <stefan.kristiansson@saunalahti.fi>2014-07-20 20:26:09 +0300
committerStefan Kristiansson <stefan.kristiansson@saunalahti.fi>2014-07-20 20:26:09 +0300
commit018dc9bedf40d528f1d05d56555e20ed54a77dc3 (patch)
tree3b00411c0efdc5c37291f60739bf6f28ea3c5980 /cpu
parent164224e96ca270d6cbb61d3e326fc1b0453b30a6 (diff)
or1k: add missing l.msync, l.psync and l.psync instructions.
Even though the opcodes were defined for these instructions, the actual instruction definitions were lacking. cpu/ * or1korbis.cpu (l-msync, l-psync, l-csync): New instructions. opcodes/ * or1k-desc.c, * or1k-desc.h, * or1k-opc.c, * or1k-opc.h, * or1k-opinst.c: Regenerate.
Diffstat (limited to 'cpu')
-rw-r--r--cpu/ChangeLog4
-rw-r--r--cpu/or1korbis.cpu24
2 files changed, 28 insertions, 0 deletions
diff --git a/cpu/ChangeLog b/cpu/ChangeLog
index 7f78a26706..0594cdf933 100644
--- a/cpu/ChangeLog
+++ b/cpu/ChangeLog
@@ -1,3 +1,7 @@
+2014-07-20 Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
+
+ * or1korbis.cpu (l-msync, l-psync, l-csync): New instructions.
+
2014-06-12 Alan Modra <amodra@gmail.com>
* or1k.opc: Whitespace fixes.
diff --git a/cpu/or1korbis.cpu b/cpu/or1korbis.cpu
index 454a2af0eb..408a135fa0 100644
--- a/cpu/or1korbis.cpu
+++ b/cpu/or1korbis.cpu
@@ -52,6 +52,7 @@
(dnf f-resv-25-10 "resv-25-10" ((MACH ORBIS-MACHS) RESERVED) 25 10)
(dnf f-resv-25-5 "resv-25-5" ((MACH ORBIS-MACHS) RESERVED) 25 5)
(dnf f-resv-23-8 "resv-23-8" ((MACH ORBIS-MACHS) RESERVED) 23 8)
+(dnf f-resv-20-21 "resv-20-21" ((MACH ORBIS-MACHS) RESERVED) 20 21)
(dnf f-resv-20-5 "resv-20-5" ((MACH ORBIS-MACHS) RESERVED) 20 5)
(dnf f-resv-20-4 "resv-20-4" ((MACH ORBIS-MACHS) RESERVED) 20 4)
(dnf f-resv-15-8 "resv-15-8" ((MACH ORBIS-MACHS) RESERVED) 15 8)
@@ -484,6 +485,29 @@
()
)
+(dni l-msync "memory sync"
+ ((MACH ORBIS-MACHS))
+ "l.msync"
+ (+ OPC_SYSTRAPSYNCS OPC_SYSTRAPSYNCS_MSYNC (f-resv-20-21 0))
+ (nop)
+ ()
+)
+
+(dni l-psync "pipeline sync"
+ ((MACH ORBIS-MACHS))
+ "l.psync"
+ (+ OPC_SYSTRAPSYNCS OPC_SYSTRAPSYNCS_PSYNC (f-resv-20-21 0))
+ (nop)
+ ()
+)
+
+(dni l-csync "context sync"
+ ((MACH ORBIS-MACHS))
+ "l.csync"
+ (+ OPC_SYSTRAPSYNCS OPC_SYSTRAPSYNCS_CSYNC (f-resv-20-21 0))
+ (nop)
+ ()
+)
(dni l-rfe "return from exception"
; This function may not be in delay slot