qemu-devel.nongnu.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).