qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] be72f9: target-sparc: Mark more flags for hel


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] be72f9: target-sparc: Mark more flags for helpers
Date: Thu, 14 Jul 2016 03:30:05 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: be72f9fcca742c5e9a949f5eac901ed6cc26a2a0
      
https://github.com/qemu/qemu/commit/be72f9fcca742c5e9a949f5eac901ed6cc26a2a0
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/helper.h

  Log Message:
  -----------
  target-sparc: Mark more flags for helpers

Quite a few helpers do not modify tcg globals but did not so indicate.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: e86ceb0d652baa5738e05a59ee0e7989dafbeaa1
      
https://github.com/qemu/qemu/commit/e86ceb0d652baa5738e05a59ee0e7989dafbeaa1
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/helper.h
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Remove softint as a TCG global

The global is only ever read for one insn; we can just as well
use a load from env instead and generate the same code.  This
also allows us to indicate the the associated helpers do not
touch TCG globals.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 99a230638a3674e921224dbe628159c867d734b1
      
https://github.com/qemu/qemu/commit/99a230638a3674e921224dbe628159c867d734b1
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/cpu.h
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Store mmu index in TB flags

Doing this instead of saving the raw PS_PRIV and TL.  This means
that all nucleus mode TBs (TL > 0) can be shared.  This fixes a
bug in that we didn't include HS_PRIV in the TB flags, and so could
produce incorrect TB matches for hypervisor state.

The LSU and DMMU states were unused by the translator.  Including
them in TB flags meant unnecessary mismatches from tb_find_fast.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 4fbe00679000f9fd0c509c2d548d957b08ec6057
      
https://github.com/qemu/qemu/commit/4fbe00679000f9fd0c509c2d548d957b08ec6057
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Create gen_exception

This unifies quite a few duplicate code fragments.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 22e700607aeaff5f5e139d0fdc3d861e5502040c
      
https://github.com/qemu/qemu/commit/22e700607aeaff5f5e139d0fdc3d861e5502040c
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Unify asi handling between 32 and 64-bit

We now have a single copy of gen_ld_asi, gen_st_asi,
gen_swap_asi, and everything uses gen_get_asi.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: a6d567e523ed7e928861f3caa5d49368af3f330d
      
https://github.com/qemu/qemu/commit/a6d567e523ed7e928861f3caa5d49368af3f330d
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/cpu.h
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Store %asi in TB flags

Knowing the value of %asi at translation time means that we
can handle the common settings without a function call.

The steady state appears to be %asi == ASI_P, so that sparcv9
code can use offset forms of lda/sta.  The %asi register gets
pushed and popped on entry to certain functions, but it rarely
takes on values other than ASI_P or ASI_AIUP.  Therefore we're
unlikely to be expanding the set of TBs created.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 7ec1e5ea4bd0700fa48da86bffa2fcc6146c410a
      
https://github.com/qemu/qemu/commit/7ec1e5ea4bd0700fa48da86bffa2fcc6146c410a
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Introduce get_asi

Replace gen_get_asi, and use it for both 32-bit and 64-bit.
For v8, do supervisor and immediate checks here.

Also, move save_state and TB ending into the respective
subroutines, out of disas_sparc_insn.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 1d65b0f5bb8f32500bbce09d922d226bb7cf4c68
      
https://github.com/qemu/qemu/commit/1d65b0f5bb8f32500bbce09d922d226bb7cf4c68
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Pass TCGMemOp to gen_ld/st_asi

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 68a03b8c8853c66724c6f200af3f821ae0d7e934
      
https://github.com/qemu/qemu/commit/68a03b8c8853c66724c6f200af3f821ae0d7e934
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    A target-sparc/asi.h

  Log Message:
  -----------
  target-sparc: Import linux/arch/sparc/include/uapi/asm/asi.h

Copied from tag v4.2, 64291f7db5bd8150a74ad2036f1037e6a0428df2.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 1d854963ea340855efe3f8a5b99c95a75bd717ae
      
https://github.com/qemu/qemu/commit/1d854963ea340855efe3f8a5b99c95a75bd717ae
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/asi.h

  Log Message:
  -----------
  target-sparc: Add UA2005 defines to asi.h

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 0cc1f4bf76a20c7fee0bab5c9bba9ad7302198b5
      
https://github.com/qemu/qemu/commit/0cc1f4bf76a20c7fee0bab5c9bba9ad7302198b5
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/ldst_helper.c
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Use defines from asi.h

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f0913be04be13cfb4f9341ae79e035fc8479fd28
      
https://github.com/qemu/qemu/commit/f0913be04be13cfb4f9341ae79e035fc8479fd28
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Directly implement easy ld/st asis

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 3f4288ebf6fca7b266fa42a74d9d99b961ba6844
      
https://github.com/qemu/qemu/commit/3f4288ebf6fca7b266fa42a74d9d99b961ba6844
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/helper.h
    M target-sparc/ldst_helper.c
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Use QT0 to return results from ldda

Also implement a few more twinx asis.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 35e94905ce4b39b358a673995f9bee11f46ec8be
      
https://github.com/qemu/qemu/commit/35e94905ce4b39b358a673995f9bee11f46ec8be
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Introduce gen_check_align

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: e4dc0052a40d3e7b00ca0b008f345e2ed644aa20
      
https://github.com/qemu/qemu/commit/e4dc0052a40d3e7b00ca0b008f345e2ed644aa20
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Directly implement easy ldd/std asis

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: c095b83f9836cef80f64b32603fea240762a824b
      
https://github.com/qemu/qemu/commit/c095b83f9836cef80f64b32603fea240762a824b
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/ldst_helper.c

  Log Message:
  -----------
  target-sparc: Fix obvious error in ASI_M_BFILL

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 6850811e7c56403b0d225a1bffd096abf2ff06f9
      
https://github.com/qemu/qemu/commit/6850811e7c56403b0d225a1bffd096abf2ff06f9
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/helper.h
    M target-sparc/ldst_helper.c
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Pass TCGMemOp constants to helper_ld/st_asi

Reduces the argument count for helper_ld_asi; do helper_st_asi
for consistency.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 7705091ca4a20c8c2d20e2af5d0a1bcb17296657
      
https://github.com/qemu/qemu/commit/7705091ca4a20c8c2d20e2af5d0a1bcb17296657
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Directly implement easy ldf/stf asis

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: ca5ce5723fb1ee3445f690004f63c209c15fb813
      
https://github.com/qemu/qemu/commit/ca5ce5723fb1ee3445f690004f63c209c15fb813
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Directly implement block and short ldf/stf asis

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f2fe396f0fae6b389169f65abf294df9ae6cfee5
      
https://github.com/qemu/qemu/commit/f2fe396f0fae6b389169f65abf294df9ae6cfee5
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/helper.h
    M target-sparc/ldst_helper.c
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Remove helper_ldf_asi, helper_stf_asi

We've now implemented all fp asis inline, except for the no-fault
memory reads.  The latter can be passed directly to helper_ld_asi.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 7385aed20db5d83979f683b9d0048674411e963c
      
https://github.com/qemu/qemu/commit/7385aed20db5d83979f683b9d0048674411e963c
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/fop_helper.c
    M target-sparc/helper.h
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Use explicit writes to cpu_fsr

By arranging for explicit writes to cpu_fsr after floating point
operations, we are able to mark the helpers as not writing to
tcg globals, which means that we don't need to invalidate the
integer register set across said calls.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: ba2397d1ca6546e8cf5bd9e2939923546ac3091a
      
https://github.com/qemu/qemu/commit/ba2397d1ca6546e8cf5bd9e2939923546ac3091a
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Use cpu_fsr in stfsr

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 02c79d78853f07d519b3272d06e43041eb4a4105
      
https://github.com/qemu/qemu/commit/02c79d78853f07d519b3272d06e43041eb4a4105
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/fop_helper.c
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Use cpu_loop_exit_restore from helper_check_ieee_exceptions

This avoids needing to save state before every FP operation.

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f9c816c00cf4242542472ae6b2a579b11b7e86f1
      
https://github.com/qemu/qemu/commit/f9c816c00cf4242542472ae6b2a579b11b7e86f1
  Author: Richard Henderson <address@hidden>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Elide duplicate updates to fprs

Tested-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 5bb2399f9b08198b6c03db10dd46e5a88caa2968
      
https://github.com/qemu/qemu/commit/5bb2399f9b08198b6c03db10dd46e5a88caa2968
  Author: Peter Maydell <address@hidden>
  Date:   2016-07-14 (Thu, 14 Jul 2016)

  Changed paths:
    A target-sparc/asi.h
    M target-sparc/cpu.h
    M target-sparc/fop_helper.c
    M target-sparc/helper.h
    M target-sparc/ldst_helper.c
    M target-sparc/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tags/pull-rth-20160712' into staging

target-sparc improvements, v4

# gpg: Signature made Tue 12 Jul 2016 19:04:33 BST
# gpg:                using RSA key 0xAD1270CC4DD0279B
# gpg: Good signature from "Richard Henderson <address@hidden>"
# gpg:                 aka "Richard Henderson <address@hidden>"
# gpg:                 aka "Richard Henderson <address@hidden>"
# Primary key fingerprint: 9CB1 8DDA F8E8 49AD 2AFC  16A4 AD12 70CC 4DD0 279B

* remotes/rth/tags/pull-rth-20160712: (24 commits)
  target-sparc: Elide duplicate updates to fprs
  target-sparc: Use cpu_loop_exit_restore from helper_check_ieee_exceptions
  target-sparc: Use cpu_fsr in stfsr
  target-sparc: Use explicit writes to cpu_fsr
  target-sparc: Remove helper_ldf_asi, helper_stf_asi
  target-sparc: Directly implement block and short ldf/stf asis
  target-sparc: Directly implement easy ldf/stf asis
  target-sparc: Pass TCGMemOp constants to helper_ld/st_asi
  target-sparc: Fix obvious error in ASI_M_BFILL
  target-sparc: Directly implement easy ldd/std asis
  target-sparc: Introduce gen_check_align
  target-sparc: Use QT0 to return results from ldda
  target-sparc: Directly implement easy ld/st asis
  target-sparc: Use defines from asi.h
  target-sparc: Add UA2005 defines to asi.h
  target-sparc: Import linux/arch/sparc/include/uapi/asm/asi.h
  target-sparc: Pass TCGMemOp to gen_ld/st_asi
  target-sparc: Introduce get_asi
  target-sparc: Store %asi in TB flags
  target-sparc: Unify asi handling between 32 and 64-bit
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/9ec3025660bc...5bb2399f9b08

reply via email to

[Prev in Thread] Current Thread [Next in Thread]