All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL] target/sparc queued patch
@ 2017-03-01 19:55 Richard Henderson
  2017-03-01 19:55 ` [Qemu-devel] [PULL] target/sparc: Restore ldstub of odd asis Richard Henderson
  2017-03-02 23:14 ` [Qemu-devel] [PULL] target/sparc queued patch Peter Maydell
  0 siblings, 2 replies; 3+ messages in thread
From: Richard Henderson @ 2017-03-01 19:55 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell

This one has been languishing for a few weeks.


r~



The following changes since commit b28f9db1a7ce4d537ce2fae6fbce5e5e37dc265b:

  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170228-1' into staging (2017-03-01 17:58:54 +0000)

are available in the git repository at:

  git://github.com/rth7680/qemu.git tags/pull-tgt-20170302

for you to fetch changes up to 3db010c3398d03646d74f2d36a68e62539342e6c:

  target/sparc: Restore ldstub of odd asis (2017-03-02 06:52:43 +1100)

----------------------------------------------------------------
Queued sparc patch

----------------------------------------------------------------
Richard Henderson (1):
      target/sparc: Restore ldstub of odd asis

 target/sparc/translate.c | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Qemu-devel] [PULL] target/sparc: Restore ldstub of odd asis
  2017-03-01 19:55 [Qemu-devel] [PULL] target/sparc queued patch Richard Henderson
@ 2017-03-01 19:55 ` Richard Henderson
  2017-03-02 23:14 ` [Qemu-devel] [PULL] target/sparc queued patch Peter Maydell
  1 sibling, 0 replies; 3+ messages in thread
From: Richard Henderson @ 2017-03-01 19:55 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, qemu-stable

Fixes the booting of ss20 roms.

Cc: qemu-stable@nongnu.org
Reported-by: Michael Russo <mike@papersolve.com>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 target/sparc/translate.c | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/target/sparc/translate.c b/target/sparc/translate.c
index 655060c..aa6734d 100644
--- a/target/sparc/translate.c
+++ b/target/sparc/translate.c
@@ -2448,8 +2448,31 @@ static void gen_ldstub_asi(DisasContext *dc, TCGv dst, TCGv addr, int insn)
         gen_ldstub(dc, dst, addr, da.mem_idx);
         break;
     default:
-        /* ??? Should be DAE_invalid_asi.  */
-        gen_exception(dc, TT_DATA_ACCESS);
+        /* ??? In theory, this should be raise DAE_invalid_asi.
+           But the SS-20 roms do ldstuba [%l0] #ASI_M_CTL, %o1.  */
+        if (parallel_cpus) {
+            gen_helper_exit_atomic(cpu_env);
+        } else {
+            TCGv_i32 r_asi = tcg_const_i32(da.asi);
+            TCGv_i32 r_mop = tcg_const_i32(MO_UB);
+            TCGv_i64 s64, t64;
+
+            save_state(dc);
+            t64 = tcg_temp_new_i64();
+            gen_helper_ld_asi(t64, cpu_env, addr, r_asi, r_mop);
+
+            s64 = tcg_const_i64(0xff);
+            gen_helper_st_asi(cpu_env, addr, s64, r_asi, r_mop);
+            tcg_temp_free_i64(s64);
+            tcg_temp_free_i32(r_mop);
+            tcg_temp_free_i32(r_asi);
+
+            tcg_gen_trunc_i64_tl(dst, t64);
+            tcg_temp_free_i64(t64);
+
+            /* End the TB.  */
+            dc->npc = DYNAMIC_PC;
+        }
         break;
     }
 }
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PULL] target/sparc queued patch
  2017-03-01 19:55 [Qemu-devel] [PULL] target/sparc queued patch Richard Henderson
  2017-03-01 19:55 ` [Qemu-devel] [PULL] target/sparc: Restore ldstub of odd asis Richard Henderson
@ 2017-03-02 23:14 ` Peter Maydell
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2017-03-02 23:14 UTC (permalink / raw)
  To: Richard Henderson; +Cc: QEMU Developers

On 1 March 2017 at 19:55, Richard Henderson <rth@twiddle.net> wrote:
> This one has been languishing for a few weeks.
>
>
> r~
>
>
>
> The following changes since commit b28f9db1a7ce4d537ce2fae6fbce5e5e37dc265b:
>
>   Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170228-1' into staging (2017-03-01 17:58:54 +0000)
>
> are available in the git repository at:
>
>   git://github.com/rth7680/qemu.git tags/pull-tgt-20170302
>
> for you to fetch changes up to 3db010c3398d03646d74f2d36a68e62539342e6c:
>
>   target/sparc: Restore ldstub of odd asis (2017-03-02 06:52:43 +1100)
>
> ----------------------------------------------------------------
> Queued sparc patch
>
> ----------------------------------------------------------------
> Richard Henderson (1):
>       target/sparc: Restore ldstub of odd asis
>
>  target/sparc/translate.c | 27 +++++++++++++++++++++++++--
>  1 file changed, 25 insertions(+), 2 deletions(-)



Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-03-02 23:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-01 19:55 [Qemu-devel] [PULL] target/sparc queued patch Richard Henderson
2017-03-01 19:55 ` [Qemu-devel] [PULL] target/sparc: Restore ldstub of odd asis Richard Henderson
2017-03-02 23:14 ` [Qemu-devel] [PULL] target/sparc queued patch Peter Maydell

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.