qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 479eb1: tcg-mips: Layout executable and code_


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 479eb1: tcg-mips: Layout executable and code_gen_buffer
Date: Tue, 27 May 2014 14:30:06 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 479eb12108b66265a8149b0fa90e16900bc217af
      
https://github.com/qemu/qemu/commit/479eb12108b66265a8149b0fa90e16900bc217af
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M configure
    M translate-all.c

  Log Message:
  -----------
  tcg-mips: Layout executable and code_gen_buffer

Choosing good addresses for them means we can use JAL for helper calls.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 483c76e14043a60926f7df4415d0e3749694158d
      
https://github.com/qemu/qemu/commit/483c76e14043a60926f7df4415d0e3749694158d
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M translate-all.c

  Log Message:
  -----------
  tcg-mips: Constrain the code_gen_buffer to be within one 256mb segment

This assures us use of J for exit_tb and goto_tb, and JAL for calling
into the generated bswap helpers.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f8c9eddb2bd3610cdafbdbc222e460c55c590b5c
      
https://github.com/qemu/qemu/commit/f8c9eddb2bd3610cdafbdbc222e460c55c590b5c
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Use J and JAL opcodes

For userland builds calls will normally be in range,
and for the exit_tb opcode the branch to the epilogue.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 7dae901d2d0476945a2dc353bb685501fd365868
      
https://github.com/qemu/qemu/commit/7dae901d2d0476945a2dc353bb685501fd365868
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Fill the exit_tb delay slot

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f9a716325facc32064d491ddbce4aa2e81f9a1ce
      
https://github.com/qemu/qemu/commit/f9a716325facc32064d491ddbce4aa2e81f9a1ce
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Split large ldst offsets

Use this to reduce goto_tb by one insn.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 9d8bf2d125f2d602d59d8fe1bdb27e17565b1fb8
      
https://github.com/qemu/qemu/commit/9d8bf2d125f2d602d59d8fe1bdb27e17565b1fb8
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Move softmmu slow path out of line

At the same time, tidy up the call helpers, avoiding a memory reference.
Split out several subroutines.  Use TCGMemOp constants.  Make endianness
selectable at runtime.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: ce0236cfbdf9d4d67e017685e305ec2ad7bfaf3b
      
https://github.com/qemu/qemu/commit/ce0236cfbdf9d4d67e017685e305ec2ad7bfaf3b
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Convert to new qemu_l/st helpers

In addition, fill delay slots calling the helpers and tail
call to the store helpers.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: fbef2cc80fbc7836447d5b3d4741c4d15a144ec1
      
https://github.com/qemu/qemu/commit/fbef2cc80fbc7836447d5b3d4741c4d15a144ec1
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c
    M tcg/mips/tcg-target.h

  Log Message:
  -----------
  tcg-mips: Convert to new_ldst

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 418839044e7ab7d0282f8685f8db40bd6cd97b96
      
https://github.com/qemu/qemu/commit/418839044e7ab7d0282f8685f8db40bd6cd97b96
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c
    M tcg/mips/tcg-target.h

  Log Message:
  -----------
  tcg-mips: Rearrange register allocation

Use FP (also known as S8) as a normal call-saved register.

Include T0 in the allocation order and call-clobbered list
even though it's currently used as a TCG temporary.

Put the argument registers at the end of the allocation order.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 6c530e32f4d2edacf870d88fd733af3442f2f0f1
      
https://github.com/qemu/qemu/commit/6c530e32f4d2edacf870d88fd733af3442f2f0f1
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Introduce TCG_TMP0, TCG_TMP1

Use these instead of hard-coding the registers to use for temporaries.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f216a35f364df893519656648677a7629a36de9e
      
https://github.com/qemu/qemu/commit/f216a35f364df893519656648677a7629a36de9e
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Use T9 for TCG_TMP1

T0 is an argument register for the n32 and n64 abis.  T9 is the call
address register for the abis, and is more directly under the control
of the backend.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 1c4182687e20a4255ea827fe05081578d9c518f9
      
https://github.com/qemu/qemu/commit/1c4182687e20a4255ea827fe05081578d9c518f9
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c
    M tcg/mips/tcg-target.h

  Log Message:
  -----------
  tcg-mips: Use EXT for AND on mips32r2

At the same time, tidy deposit by introducing tcg_out_opc_bf.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: ac0f3b12636f58062129064e3e8f8f65ccc18b1e
      
https://github.com/qemu/qemu/commit/ac0f3b12636f58062129064e3e8f8f65ccc18b1e
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Name the opcode enumeration

And use it in the opcode emission functions.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 070603f62b6e97bfdc3f33798fbdc2772798cdfc
      
https://github.com/qemu/qemu/commit/070603f62b6e97bfdc3f33798fbdc2772798cdfc
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Fix subtract immediate range

Since we must use ADDUI, we would generate incorrect code for -32768.
Leaving off subtract of +32768 makes things easier for a follow-on patch.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 22ee3a987d5522785908d0c2cbbcce0f112a0c45
      
https://github.com/qemu/qemu/commit/22ee3a987d5522785908d0c2cbbcce0f112a0c45
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Hoist args loads

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 741f117d9ac1a1a8deabc5f9b575308e88ad5fb3
      
https://github.com/qemu/qemu/commit/741f117d9ac1a1a8deabc5f9b575308e88ad5fb3
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Improve add2/sub2

Reduce insn count from 5 to either 3 or 4.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 4f048535cd11d0950c12d31115c9cbe883cde969
      
https://github.com/qemu/qemu/commit/4f048535cd11d0950c12d31115c9cbe883cde969
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Commonize opcode implementations

Most opcodes fall in to one of a couple of patterns.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: fd1cf66630a220991c837e53d9a958cd29444ba1
      
https://github.com/qemu/qemu/commit/fd1cf66630a220991c837e53d9a958cd29444ba1
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Simplify setcond

Use a table to fold comparisons to less-than.
Also, move the function up in the file for futher simplifications.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: c068896f7f10f82d96a986ceea0d69d8579e3932
      
https://github.com/qemu/qemu/commit/c068896f7f10f82d96a986ceea0d69d8579e3932
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Simplify brcond

Use the same table to fold comparisons as with setcond.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 9a2f0bfe32bc61d079eb2d763dae1616697f85c4
      
https://github.com/qemu/qemu/commit/9a2f0bfe32bc61d079eb2d763dae1616697f85c4
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Simplify setcond2

Using tcg_unsigned_cond and tcg_high_cond.
Also, move the function up in the file for future cleanups.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 1db1c4d7d91843dd6a7dab93946e01bc19e8ba38
      
https://github.com/qemu/qemu/commit/1db1c4d7d91843dd6a7dab93946e01bc19e8ba38
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Improve setcond eq/ne vs zeros

The original code results in one too many insns per zero
present in the input.  And since comparing 64-bit numbers
vs zero is common...

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 3401fd259e37f08e1333169494bea30ea02a1d63
      
https://github.com/qemu/qemu/commit/3401fd259e37f08e1333169494bea30ea02a1d63
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Simplify brcond2

Emitting a single branch instead of (up to) 3, using setcond2
to generate the composite compare.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 33fac20bb2ae7fe48932bd950a74ff2f7b134b0f
      
https://github.com/qemu/qemu/commit/33fac20bb2ae7fe48932bd950a74ff2f7b134b0f
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Simplify movcond

Use the same table to fold comparisons as with setcond.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: b6bfeea92aea8dbad61ea21cc0c3a2df4d42b96b
      
https://github.com/qemu/qemu/commit/b6bfeea92aea8dbad61ea21cc0c3a2df4d42b96b
  Author: Richard Henderson <address@hidden>
  Date:   2014-05-24 (Sat, 24 May 2014)

  Changed paths:
    M include/exec/exec-all.h
    M tcg/mips/tcg-target.c

  Log Message:
  -----------
  tcg-mips: Enable direct chaining of TBs

Now that the code_gen_buffer is constrained to not cross 256mb
regions, we are assured that we can use J to reach another TB.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 27aa948502c3fc299e523e0017d0a443c1120825
      
https://github.com/qemu/qemu/commit/27aa948502c3fc299e523e0017d0a443c1120825
  Author: Peter Maydell <address@hidden>
  Date:   2014-05-27 (Tue, 27 May 2014)

  Changed paths:
    M configure
    M include/exec/exec-all.h
    M tcg/mips/tcg-target.c
    M tcg/mips/tcg-target.h
    M translate-all.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tcg-mips' into staging

* remotes/rth/tcg-mips: (24 commits)
  tcg-mips: Enable direct chaining of TBs
  tcg-mips: Simplify movcond
  tcg-mips: Simplify brcond2
  tcg-mips: Improve setcond eq/ne vs zeros
  tcg-mips: Simplify setcond2
  tcg-mips: Simplify brcond
  tcg-mips: Simplify setcond
  tcg-mips: Commonize opcode implementations
  tcg-mips: Improve add2/sub2
  tcg-mips: Hoist args loads
  tcg-mips: Fix subtract immediate range
  tcg-mips: Name the opcode enumeration
  tcg-mips: Use EXT for AND on mips32r2
  tcg-mips: Use T9 for TCG_TMP1
  tcg-mips: Introduce TCG_TMP0, TCG_TMP1
  tcg-mips: Rearrange register allocation
  tcg-mips: Convert to new_ldst
  tcg-mips: Convert to new qemu_l/st helpers
  tcg-mips: Move softmmu slow path out of line
  tcg-mips: Split large ldst offsets
  ...

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


Compare: https://github.com/qemu/qemu/compare/93f94f901822...27aa948502c3

reply via email to

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