From 018dc9bedf40d528f1d05d56555e20ed54a77dc3 Mon Sep 17 00:00:00 2001 From: Stefan Kristiansson Date: Sun, 20 Jul 2014 20:26:09 +0300 Subject: [PATCH] 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. --- cpu/ChangeLog | 4 +++ cpu/or1korbis.cpu | 24 ++++++++++++++++++ opcodes/ChangeLog | 5 ++++ opcodes/or1k-desc.c | 16 ++++++++++++ opcodes/or1k-desc.h | 12 ++++----- opcodes/or1k-opc.c | 22 ++++++++++++++++ opcodes/or1k-opc.h | 59 ++++++++++++++++++++++--------------------- opcodes/or1k-opinst.c | 29 +++++++++++---------- 8 files changed, 123 insertions(+), 48 deletions(-) diff --git a/cpu/ChangeLog b/cpu/ChangeLog index 7f78a26706c..0594cdf9330 100644 --- a/cpu/ChangeLog +++ b/cpu/ChangeLog @@ -1,3 +1,7 @@ +2014-07-20 Stefan Kristiansson + + * or1korbis.cpu (l-msync, l-psync, l-csync): New instructions. + 2014-06-12 Alan Modra * or1k.opc: Whitespace fixes. diff --git a/cpu/or1korbis.cpu b/cpu/or1korbis.cpu index 454a2af0eba..408a135fa04 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 diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 42d8431714d..fb563c1cf24 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2014-07-20 Stefan Kristiansson + + * or1k-desc.c, * or1k-desc.h, * or1k-opc.c, * or1k-opc.h, + * or1k-opinst.c: Regenerate. + 2014-07-08 Ilya Tocar * i386-dis-evex.h (EVEX_W_0F10_P_1_M_1): Fix vmovss. diff --git a/opcodes/or1k-desc.c b/opcodes/or1k-desc.c index 84b0c813e1c..b5174a067b6 100644 --- a/opcodes/or1k-desc.c +++ b/opcodes/or1k-desc.c @@ -952,6 +952,7 @@ const CGEN_IFLD or1k_cgen_ifld_table[] = { OR1K_F_RESV_25_10, "f-resv-25-10", 0, 32, 25, 10, { 0|A(RESERVED), { { { (1<