All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aleksandar Markovic <aleksandar.markovic@rt-rk.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, laurent@vivier.eu, riku.voipio@iki.fi,
	philippe.mathieu.daude@gmail.com, aurelien@aurel32.net,
	richard.henderson@linaro.org, amarkovic@wavecomp.com,
	smarkovic@wavecomp.com, pjovanovic@wavecomp.com,
	pburton@wavecomp.com, arikalo@wavecomp.com, thuth@redhat.com,
	armbru@redhat.com
Subject: [Qemu-devel] [PATCH v7 51/80] target/mips: Adjust set_pc() for nanoMIPS
Date: Mon,  6 Aug 2018 19:00:18 +0200	[thread overview]
Message-ID: <1533574847-19294-52-git-send-email-aleksandar.markovic@rt-rk.com> (raw)
In-Reply-To: <1533574847-19294-1-git-send-email-aleksandar.markovic@rt-rk.com>

From: James Hogan <james.hogan@mips.com>

ERET and ERETNC shouldn't clear MIPS_HFLAG_M16 for nanoMIPS since there
is no ISA bit, so fix set_pc() to skip the hflags update.

Signed-off-by: James Hogan <james.hogan@mips.com>
Signed-off-by: Yongbok Kim <yongbok.kim@mips.com>
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Signed-off-by: Stefan Markovic <smarkovic@wavecomp.com>
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 target/mips/op_helper.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/target/mips/op_helper.c b/target/mips/op_helper.c
index b3eef9f..6dc6bb6 100644
--- a/target/mips/op_helper.c
+++ b/target/mips/op_helper.c
@@ -2392,6 +2392,10 @@ static void debug_post_eret(CPUMIPSState *env)
 static void set_pc(CPUMIPSState *env, target_ulong error_pc)
 {
     env->active_tc.PC = error_pc & ~(target_ulong)1;
+    if (env->insn_flags & ISA_NANOMIPS32) {
+        /* Don't clear MIPS_HFLAG_M16 */
+        return;
+    }
     if (error_pc & 1) {
         env->hflags |= MIPS_HFLAG_M16;
     } else {
-- 
2.7.4

  parent reply	other threads:[~2018-08-06 17:25 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-06 16:59 [Qemu-devel] [PATCH v7 00/80] Add nanoMIPS support to QEMU Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 01/80] MAINTAINERS: Update target/mips maintainer's email addresses Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 02/80] target/mips: Avoid case statements formulated by ranges Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 03/80] target/mips: Mark switch fallthroughs with interpretable comments Aleksandar Markovic
2018-08-10  5:29   ` Philippe Mathieu-Daudé
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 04/80] target/mips: Fix two instances of shadow variables Aleksandar Markovic
2018-08-10  5:29   ` Philippe Mathieu-Daudé
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 05/80] target/mips: Update some CP0 registers bit definitions Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 06/80] target/mips: Add CP0 BadInstrX register Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 07/80] target/mips: Add gen_op_addr_addi() Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 08/80] target/mips: Don't update BadVAddr register in Debug Mode Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 09/80] target/mips: Check ELPA flag only in some cases of MFHC0 and MTHC0 Aleksandar Markovic
2018-08-10  5:31   ` Philippe Mathieu-Daudé
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 10/80] elf: Remove duplicate preprocessor constant definition Aleksandar Markovic
2018-08-10 14:49   ` Philippe Mathieu-Daudé
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 11/80] elf: Add ELF flags for MIPS machine variants Aleksandar Markovic
2018-08-10  5:39   ` Philippe Mathieu-Daudé
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 12/80] linux-user: Update MIPS syscall numbers up to kernel 4.18 headers Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 13/80] linux-user: Add preprocessor availability control to some syscalls Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 14/80] target/mips: Add preprocessor constants for nanoMIPS Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 15/80] target/mips: Add nanoMIPS base instruction set opcodes Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 16/80] target/mips: Add nanoMIPS DSP ASE opcodes Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 17/80] target/mips: Add placeholder and invocation of decode_nanomips_opc() Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 18/80] target/mips: Add nanoMIPS decoding and extraction utilities Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 19/80] target/mips: Add emulation of nanoMIPS 16-bit arithmetic instructions Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 20/80] target/mips: Add emulation of nanoMIPS 16-bit branch instructions Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 21/80] target/mips: Add emulation of nanoMIPS 16-bit shift instructions Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 22/80] target/mips: Add emulation of nanoMIPS 16-bit misc instructions Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 23/80] target/mips: Add emulation of nanoMIPS 16-bit load and store instructions Aleksandar Markovic
2018-08-06 18:21   ` Aleksandar Markovic
2018-08-07 12:56     ` Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 24/80] target/mips: Add emulation of nanoMIPS 16-bit logic instructions Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 25/80] target/mips: Add emulation of nanoMIPS 16-bit save and restore instructions Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 26/80] target/mips: Add emulation of some common nanoMIPS 32-bit instructions Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 27/80] target/mips: Add emulation of nanoMIPS instructions MOVE.P and MOVE.PREV Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 28/80] target/mips: Add emulation of nanoMIPS 48-bit instructions Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 29/80] target/mips: Add emulation of nanoMIPS FP instructions Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 30/80] target/mips: Add emulation of misc nanoMIPS instructions (pool32a0) Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 31/80] target/mips: Add emulation of misc nanoMIPS instructions (pool32axf) Aleksandar Markovic
2018-08-06 16:59 ` [Qemu-devel] [PATCH v7 32/80] target/mips: Add emulation of misc nanoMIPS instructions (p_lsx) Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 33/80] target/mips: Implement emulation of nanoMIPS ROTX instruction Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 34/80] target/mips: Implement emulation of nanoMIPS EXTW instruction Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 35/80] target/mips: Add emulation of nanoMIPS 32-bit load and store instructions Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 36/80] target/mips: Implement emulation of nanoMIPS LLWP/SCWP pair Aleksandar Markovic
2018-08-06 18:38   ` Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 37/80] target/mips: Add emulation of nanoMIPS 32-bit branch instructions Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 38/80] target/mips: Implement MT ASE support for nanoMIPS Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 39/80] target/mips: Add emulation of DSP ASE for nanoMIPS - part 1 Aleksandar Markovic
2018-08-06 18:39   ` Aleksandar Markovic
2018-08-06 19:00   ` Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 40/80] target/mips: Add emulation of DSP ASE for nanoMIPS - part 2 Aleksandar Markovic
2018-08-06 18:40   ` Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 41/80] target/mips: Add emulation of DSP ASE for nanoMIPS - part 3 Aleksandar Markovic
2018-08-06 18:44   ` Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 42/80] target/mips: Add emulation of DSP ASE for nanoMIPS - part 4 Aleksandar Markovic
2018-08-06 18:54   ` Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 43/80] target/mips: Add emulation of DSP ASE for nanoMIPS - part 5 Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 44/80] target/mips: Add emulation of DSP ASE for nanoMIPS - part 6 Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 45/80] disas: Add support for microMIPS and nanoMIPS Aleksandar Markovic
2018-08-06 19:02   ` Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 46/80] target/mips: Add handling of branch delay slots for nanoMIPS Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 47/80] target/mips: Add updating BadInstr, BadInstrP, BadInstrX " Aleksandar Markovic
2018-08-06 19:45   ` Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 48/80] target/mips: Implement CP0 Config1.WR bit functionality Aleksandar Markovic
2018-08-06 19:57   ` Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 49/80] target/mips: Adjust exception_resume_pc() for nanoMIPS Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 50/80] target/mips: Adjust set_hflags_for_handler() " Aleksandar Markovic
2018-08-06 17:00 ` Aleksandar Markovic [this message]
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 52/80] target/mips: Fix ERET/ERETNC behavior related to ADEL exception Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 53/80] elf: Add nanoMIPS specific variations in ELF header fields Aleksandar Markovic
2018-08-06 18:06   ` Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 54/80] elf: Relax MIPS' elf_check_arch() to accept EM_NANOMIPS too Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 55/80] elf: Don't check FCR31_NAN2008 bit for nanoMIPS Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 56/80] mips_malta: Add basic nanoMIPS boot code for MIPS' Malta Aleksandar Markovic
2018-08-06 19:40   ` Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 57/80] mips_malta: Setup GT64120 BARs in nanoMIPS bootloader Aleksandar Markovic
2018-08-10 16:17   ` Philippe Mathieu-Daudé
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 58/80] mips_malta: Fix semihosting argument passing for nanoMIPS bare metal Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 59/80] gdbstub: Disable handling of nanoMIPS ISA bit in the MIPS gdbstub Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 60/80] gdbstub: Add XML support for GDB for nanoMIPS Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 61/80] target/mips: Add definition of nanoMIPS I7200 CPU Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 62/80] linux-user: Add syscall numbers for nanoMIPS Aleksandar Markovic
2018-08-12 15:44   ` Aleksandar Markovic
2018-08-12 16:23     ` Laurent Vivier
2018-08-12 16:29       ` Peter Maydell
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 63/80] linux-user: Add target_signal.h header " Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 64/80] linux-user: Add termbits.h " Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 65/80] linux-user: Update syscall_defs.h " Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 66/80] linux-user: Add target_fcntl.h " Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 67/80] linux-user: Add sockbits.h " Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 68/80] linux-user: Add target_syscall.h " Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 69/80] linux-user: Add target_cpu.h " Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 70/80] linux-user: Add target_structs.h " Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 71/80] linux-user: Add target_elf.h " Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 72/80] linux-user: Add signal.c " Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 73/80] linux-user: Add support for nanoMIPS signal trampoline Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 74/80] linux-user: Add cpu_loop.c for nanoMIPS Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 75/80] linux-user: Amend support for sigaction() syscall " Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 76/80] linux-user: Add support for statx() syscall for all platforms Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 77/80] linux-user: Add nanoMIPS linux user mode configuration support Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 78/80] linux-user: Add nanoMIPS support in scripts/qemu-binfmt-conf.sh Aleksandar Markovic
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 79/80] qemu-doc: Amend MIPS-related items Aleksandar Markovic
2018-08-07 12:08   ` Aleksandar Markovic
2018-08-08  8:03   ` Thomas Huth
2018-08-06 17:00 ` [Qemu-devel] [PATCH v7 80/80] qemu-doc: Add nanoMIPS-related items Aleksandar Markovic
2018-08-08  8:04   ` Thomas Huth
2018-08-10  5:44 ` [Qemu-devel] [PATCH v7 00/80] Add nanoMIPS support to QEMU Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1533574847-19294-52-git-send-email-aleksandar.markovic@rt-rk.com \
    --to=aleksandar.markovic@rt-rk.com \
    --cc=amarkovic@wavecomp.com \
    --cc=arikalo@wavecomp.com \
    --cc=armbru@redhat.com \
    --cc=aurelien@aurel32.net \
    --cc=laurent@vivier.eu \
    --cc=pburton@wavecomp.com \
    --cc=peter.maydell@linaro.org \
    --cc=philippe.mathieu.daude@gmail.com \
    --cc=pjovanovic@wavecomp.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=riku.voipio@iki.fi \
    --cc=smarkovic@wavecomp.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.