All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aleksandar Markovic <aleksandar.markovic@rt-rk.com>
To: qemu-devel@nongnu.org
Cc: 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
Subject: [Qemu-devel] [PATCH v5 35/76] target/mips: Add emulation of nanoMIPS 32-bit load and store instructions
Date: Mon, 30 Jul 2018 18:12:08 +0200	[thread overview]
Message-ID: <1532967169-22265-36-git-send-email-aleksandar.markovic@rt-rk.com> (raw)
In-Reply-To: <1532967169-22265-1-git-send-email-aleksandar.markovic@rt-rk.com>

From: Yongbok Kim <yongbok.kim@mips.com>

Add emulation of various nanoMIPS load and store instructions.

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/translate.c | 274 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 274 insertions(+)

diff --git a/target/mips/translate.c b/target/mips/translate.c
index aa6522c..0047eff 100644
--- a/target/mips/translate.c
+++ b/target/mips/translate.c
@@ -17656,10 +17656,284 @@ static int decode_nanomips_32_48_opc(CPUMIPSState *env, DisasContext *ctx)
         }
         break;
     case NM_P_GP_BH:
+        {
+            uint32_t u = extract32(ctx->opcode, 0, 18);
+            switch (extract32(ctx->opcode, 18, 3)) {
+            case NM_LBGP:
+                gen_ld(ctx, OPC_LB, rt, 28, u);
+                break;
+            case NM_SBGP:
+                gen_st(ctx, OPC_SB, rt, 28, u);
+                break;
+            case NM_LBUGP:
+                gen_ld(ctx, OPC_LBU, rt, 28, u);
+                break;
+            case NM_ADDIUGP_B:
+                if (rt != 0) {
+                    uint32_t offset = extract32(ctx->opcode, 0, 18);
+                    gen_op_addr_addi(ctx, cpu_gpr[rt], cpu_gpr[28], offset);
+                }
+                break;
+            case NM_P_GP_LH:
+                u &= ~1;
+                switch (ctx->opcode & 1) {
+                case NM_LHGP:
+                    gen_ld(ctx, OPC_LH, rt, 28, u);
+                    break;
+                case NM_LHUGP:
+                    gen_ld(ctx, OPC_LHU, rt, 28, u);
+                    break;
+                }
+                break;
+            case NM_P_GP_SH:
+                u &= ~1;
+                switch (ctx->opcode & 1) {
+                case NM_SHGP:
+                    gen_st(ctx, OPC_SH, rt, 28, u);
+                    break;
+                default:
+                    generate_exception_end(ctx, EXCP_RI);
+                    break;
+                }
+                break;
+            case NM_P_GP_CP1:
+                u &= ~0x3;
+                switch (ctx->opcode & 0x3) {
+                case NM_LWC1GP:
+                    gen_cop1_ldst(ctx, OPC_LWC1, rt, 28, u);
+                    break;
+                case NM_LDC1GP:
+                    gen_cop1_ldst(ctx, OPC_LDC1, rt, 28, u);
+                    break;
+                case NM_SWC1GP:
+                    gen_cop1_ldst(ctx, OPC_SWC1, rt, 28, u);
+                    break;
+                case NM_SDC1GP:
+                    gen_cop1_ldst(ctx, OPC_SDC1, rt, 28, u);
+                    break;
+                }
+                break;
+            default:
+                generate_exception_end(ctx, EXCP_RI);
+                break;
+            }
+        }
         break;
     case NM_P_LS_U12:
+        {
+            uint32_t u = extract32(ctx->opcode, 0, 12);
+            switch (extract32(ctx->opcode, 12, 4)) {
+            case NM_P_PREFU12:
+                if (rt == 31) {
+                    /* SYNCI */
+                    /* Break the TB to be able to sync copied instructions
+                       immediately */
+                    ctx->base.is_jmp = DISAS_STOP;
+                } else {
+                    /* PREF */
+                    /* Treat as NOP. */
+                }
+                break;
+            case NM_LB:
+                gen_ld(ctx, OPC_LB, rt, rs, u);
+                break;
+            case NM_LH:
+                gen_ld(ctx, OPC_LH, rt, rs, u);
+                break;
+            case NM_LW:
+                gen_ld(ctx, OPC_LW, rt, rs, u);
+                break;
+            case NM_LBU:
+                gen_ld(ctx, OPC_LBU, rt, rs, u);
+                break;
+            case NM_LHU:
+                gen_ld(ctx, OPC_LHU, rt, rs, u);
+                break;
+            case NM_SB:
+                gen_st(ctx, OPC_SB, rt, rs, u);
+                break;
+            case NM_SH:
+                gen_st(ctx, OPC_SH, rt, rs, u);
+                break;
+            case NM_SW:
+                gen_st(ctx, OPC_SW, rt, rs, u);
+                break;
+            case NM_LWC1:
+                gen_cop1_ldst(ctx, OPC_LWC1, rt, rs, u);
+                break;
+            case NM_LDC1:
+                gen_cop1_ldst(ctx, OPC_LDC1, rt, rs, u);
+                break;
+            case NM_SWC1:
+                gen_cop1_ldst(ctx, OPC_SWC1, rt, rs, u);
+                break;
+            case NM_SDC1:
+                gen_cop1_ldst(ctx, OPC_SDC1, rt, rs, u);
+                break;
+            default:
+                generate_exception_end(ctx, EXCP_RI);
+                break;
+            }
+        }
         break;
     case NM_P_LS_S9:
+        {
+            int32_t s = (sextract32(ctx->opcode, 15, 1) << 8) |
+                        extract32(ctx->opcode, 0, 8);
+            switch (extract32(ctx->opcode, 8, 3)) {
+            case NM_P_LS_S0:
+                switch (extract32(ctx->opcode, 11, 4)) {
+                case NM_LBS9:
+                    gen_ld(ctx, OPC_LB, rt, rs, s);
+                    break;
+                case NM_LHS9:
+                    gen_ld(ctx, OPC_LH, rt, rs, s);
+                    break;
+                case NM_LWS9:
+                    gen_ld(ctx, OPC_LW, rt, rs, s);
+                    break;
+                case NM_LBUS9:
+                    gen_ld(ctx, OPC_LBU, rt, rs, s);
+                    break;
+                case NM_LHUS9:
+                    gen_ld(ctx, OPC_LHU, rt, rs, s);
+                    break;
+                case NM_SBS9:
+                    gen_st(ctx, OPC_SB, rt, rs, s);
+                    break;
+                case NM_SHS9:
+                    gen_st(ctx, OPC_SH, rt, rs, s);
+                    break;
+                case NM_SWS9:
+                    gen_st(ctx, OPC_SW, rt, rs, s);
+                    break;
+                case NM_LWC1S9:
+                    gen_cop1_ldst(ctx, OPC_LWC1, rt, rs, s);
+                    break;
+                case NM_LDC1S9:
+                    gen_cop1_ldst(ctx, OPC_LDC1, rt, rs, s);
+                    break;
+                case NM_SWC1S9:
+                    gen_cop1_ldst(ctx, OPC_SWC1, rt, rs, s);
+                    break;
+                case NM_SDC1S9:
+                    gen_cop1_ldst(ctx, OPC_SDC1, rt, rs, s);
+                    break;
+                case NM_P_PREFS9:
+                    if (rt == 31) {
+                        /* SYNCI */
+                        /* Break the TB to be able to sync copied instructions
+                           immediately */
+                        ctx->base.is_jmp = DISAS_STOP;
+                    } else {
+                        /* PREF */
+                        /* Treat as NOP. */
+                    }
+                    break;
+                default:
+                    generate_exception_end(ctx, EXCP_RI);
+                    break;
+                }
+                break;
+            case NM_P_LS_S1:
+                switch (extract32(ctx->opcode, 11, 4)) {
+                case NM_UALH:
+                case NM_UASH:
+                    {
+                        TCGv t0 = tcg_temp_new();
+                        TCGv t1 = tcg_temp_new();
+
+                        gen_base_offset_addr(ctx, t0, rs, s);
+
+                        switch (extract32(ctx->opcode, 11, 4)) {
+                        case NM_UALH:
+                            tcg_gen_qemu_ld_tl(t0, t0, ctx->mem_idx, MO_TESW |
+                                               MO_UNALN);
+                            gen_store_gpr(t0, rt);
+                            break;
+                        case NM_UASH:
+                            gen_load_gpr(t1, rt);
+                            tcg_gen_qemu_st_tl(t1, t0, ctx->mem_idx, MO_TEUW |
+                                               MO_UNALN);
+                            break;
+                        }
+                        tcg_temp_free(t0);
+                        tcg_temp_free(t1);
+                    }
+                    break;
+                case NM_P_LL:
+                    switch (ctx->opcode & 0x03) {
+                    case NM_LL:
+                        gen_ld(ctx, OPC_LL, rt, rs, s);
+                        break;
+                    case NM_LLWP:
+                        break;
+                    }
+                    break;
+                case NM_P_SC:
+                    switch (ctx->opcode & 0x03) {
+                    case NM_SC:
+                        gen_st_cond(ctx, OPC_SC, rt, rs, s);
+                        break;
+                    case NM_SCWP:
+                        break;
+                    }
+                    break;
+                case NM_CACHE:
+                    check_cp0_enabled(ctx);
+                    if (ctx->hflags & MIPS_HFLAG_ITC_CACHE) {
+                        gen_cache_operation(ctx, rt, rs, s);
+                    }
+                    break;
+                }
+                break;
+            case NM_P_LS_WM:
+            case NM_P_LS_UAWM:
+            {
+                int32_t offset = sextract32(ctx->opcode, 15, 1) << 8 |
+                                extract32(ctx->opcode, 0, 8);
+                int count = extract32(ctx->opcode, 12, 3);
+                int counter = 0;
+                TCGv va = tcg_temp_new();
+                TCGv t1 = tcg_temp_new();
+                TCGMemOp memop = (extract32(ctx->opcode, 8, 3)) ==
+                                  NM_P_LS_UAWM ? MO_UNALN : 0;
+
+                count = (count == 0) ? 8 : count;
+                while (counter != count) {
+                    int this_rt = ((rt + counter) & 0x1f) | (rt & 0x10);
+                    int32_t this_offset = offset + (counter << 2);
+
+                    gen_base_offset_addr(ctx, va, rs, this_offset);
+
+                    switch (extract32(ctx->opcode, 11, 1)) {
+                    case NM_LWM:
+                        tcg_gen_qemu_ld_tl(t1, va, ctx->mem_idx,
+                                           memop | MO_TESL);
+                        gen_store_gpr(t1, this_rt);
+                        if ((this_rt == rs) &&
+                            (counter != (count - 1))) {
+                            /* UNPREDICTABLE */
+                        }
+                        break;
+                    case NM_SWM:
+                        this_rt = (rt == 0) ? 0 : this_rt;
+                        gen_load_gpr(t1, this_rt);
+                        tcg_gen_qemu_st_tl(t1, va, ctx->mem_idx,
+                                           memop | MO_TEUL);
+                        break;
+                    }
+                    counter++;
+                }
+                tcg_temp_free(va);
+                tcg_temp_free(t1);
+            }
+                break;
+            default:
+                generate_exception_end(ctx, EXCP_RI);
+                break;
+            }
+        }
         break;
     case NM_MOVE_BALC:
         break;
-- 
2.7.4

  parent reply	other threads:[~2018-07-30 16:22 UTC|newest]

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

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=1532967169-22265-36-git-send-email-aleksandar.markovic@rt-rk.com \
    --to=aleksandar.markovic@rt-rk.com \
    --cc=amarkovic@wavecomp.com \
    --cc=aurelien@aurel32.net \
    --cc=laurent@vivier.eu \
    --cc=pburton@wavecomp.com \
    --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 \
    /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.