qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 032a4b: tcg: Allocate code_gen_buffer into st


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 032a4b: tcg: Allocate code_gen_buffer into struct tcg_regi...
Date: Mon, 14 Jun 2021 02:26:17 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 032a4b1ba09ab15bb9331a75d49db186e782c00c
      
https://github.com/qemu/qemu/commit/032a4b1ba09ab15bb9331a75d49db186e782c00c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M tcg/region.c

  Log Message:
  -----------
  tcg: Allocate code_gen_buffer into struct tcg_region_state

Do not mess around with setting values within tcg_init_ctx.
Put the values into 'region' directly, which is where they
will live for the lifetime of the program.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7be9ebcf924c04b22f4c4cf990f51da4259b07c3
      
https://github.com/qemu/qemu/commit/7be9ebcf924c04b22f4c4cf990f51da4259b07c3
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M tcg/region.c

  Log Message:
  -----------
  tcg: Return the map protection from alloc_code_gen_buffer

Change the interface from a boolean error indication to a
negative error vs a non-negative protection.  For the moment
this is only interface change, not making use of the new data.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: cd9ea992e99b231f8065d66ae19a643673f70eed
      
https://github.com/qemu/qemu/commit/cd9ea992e99b231f8065d66ae19a643673f70eed
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M tcg/region.c

  Log Message:
  -----------
  tcg: Sink qemu_madvise call to common code

Move the call out of the N versions of alloc_code_gen_buffer
and into tcg_region_init.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: d7107fc00aff819338e1d2683eabcbb2ff4ef61b
      
https://github.com/qemu/qemu/commit/d7107fc00aff819338e1d2683eabcbb2ff4ef61b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M include/qemu/osdep.h
    M util/osdep.c

  Log Message:
  -----------
  util/osdep: Add qemu_mprotect_rw

For --enable-tcg-interpreter on Windows, we will need this.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ba22783d6ef821551360890a025cd29b2444e948
      
https://github.com/qemu/qemu/commit/ba22783d6ef821551360890a025cd29b2444e948
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M tcg/region.c

  Log Message:
  -----------
  tcg: Round the tb_size default from qemu_get_host_physmem

If qemu_get_host_physmem returns an odd number of pages,
then physmem / 8 will not be a multiple of the page size.

The following was observed on a gitlab runner:

ERROR qtest-arm/boot-serial-test - Bail out!
ERROR:../util/osdep.c:80:qemu_mprotect__osdep: \
  assertion failed: (!(size & ~qemu_real_host_page_mask))

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 22c6a9938f7515a2c05fb7dea128e2e305953115
      
https://github.com/qemu/qemu/commit/22c6a9938f7515a2c05fb7dea128e2e305953115
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M tcg/region.c

  Log Message:
  -----------
  tcg: Merge buffer protection and guard page protection

Do not handle protections on a case-by-case basis in the
various alloc_code_gen_buffer instances; do it within a
single loop in tcg_region_init.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b7da02dad0f25928e688a5dce74a0f10fa120594
      
https://github.com/qemu/qemu/commit/b7da02dad0f25928e688a5dce74a0f10fa120594
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M tcg/region.c

  Log Message:
  -----------
  tcg: When allocating for !splitwx, begin with PROT_NONE

There's a change in mprotect() behaviour [1] in the latest macOS
on M1 and it's not yet clear if it's going to be fixed by Apple.

In this case, instead of changing permissions of N guard pages,
we change permissions of N rwx regions.  The same number of
syscalls are required either way.

[1] https://gist.github.com/hikalium/75ae822466ee4da13cbbe486498a191f

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 42eb6dfcf135068aa6873e6e9f5f8afa77858914
      
https://github.com/qemu/qemu/commit/42eb6dfcf135068aa6873e6e9f5f8afa77858914
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M accel/tcg/translate-all.c
    M include/tcg/tcg.h
    M tcg/tcg-internal.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Move tcg_init_ctx and tcg_ctx from accel/tcg/

These variables belong to the jit side, not the user side.

Since tcg_init_ctx is no longer used outside of tcg/, move
the declaration to tcg-internal.h.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Suggested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a80cdd3183ed85bc254cbe22ca240dc035fc6548
      
https://github.com/qemu/qemu/commit/a80cdd3183ed85bc254cbe22ca240dc035fc6548
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M include/tcg/tcg.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Introduce tcg_remove_ops_after

Introduce a function to remove everything emitted
since a given point.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a14b3ad11af1803e018d2be8ca26be27f816872d
      
https://github.com/qemu/qemu/commit/a14b3ad11af1803e018d2be8ca26be27f816872d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M include/tcg/tcg.h

  Log Message:
  -----------
  tcg: Fix documentation for tcg_constant_* vs tcg_temp_free_*

At some point during the development of tcg_constant_*, I changed
my mind about whether such temps should be able to be passed to
tcg_temp_free_*.  The final version committed allows this, but the
commentary was not updated to match.

Fixes: c0522136adf
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c372565d08e278d6e65a54c8b5ab082bd63234ea
      
https://github.com/qemu/qemu/commit/c372565d08e278d6e65a54c8b5ab082bd63234ea
  Author: Jose R. Ziviani <jziviani@suse.de>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M tcg/arm/tcg-target.c.inc

  Log Message:
  -----------
  tcg/arm: Fix tcg_out_op function signature

Commit 5e8892db93 fixed several function signatures but tcg_out_op for
arm is missing. This patch fixes it as well.

Signed-off-by: Jose R. Ziviani <jziviani@suse.de>
Message-Id: <20210610224450.23425-1-jziviani@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f291f45f4ef445ccc1aaf7b5bc595dab17d89e8d
      
https://github.com/qemu/qemu/commit/f291f45f4ef445ccc1aaf7b5bc595dab17d89e8d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Fix tp init in float32_exp2

Typo in the conversion to FloatParts64.

Fixes: 572c4d862ff2
Fixes: Coverity CID 1457457
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210607223812.110596-1-richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a5a8b84772e13066c6c45f480cc5b5312bbde08e
      
https://github.com/qemu/qemu/commit/a5a8b84772e13066c6c45f480cc5b5312bbde08e
  Author: Luis Pires <luis.pires@eldorado.org.br>
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
    M docs/devel/tcg.rst

  Log Message:
  -----------
  docs/devel: Explain in more detail the TB chaining mechanisms

Signed-off-by: Luis Pires <luis.pires@eldorado.org.br>
Message-Id: <20210601125143.191165-1-luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: fbe7919ecee8d525ccd107027d73d877cd4eccc4
      
https://github.com/qemu/qemu/commit/fbe7919ecee8d525ccd107027d73d877cd4eccc4
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-06-14 (Mon, 14 Jun 2021)

  Changed paths:
    M accel/tcg/internal.h
    M accel/tcg/tcg-all.c
    M accel/tcg/translate-all.c
    M bsd-user/main.c
    M docs/devel/tcg.rst
    A fpu/meson.build
    M fpu/softfloat.c
    M include/qemu/osdep.h
    M include/sysemu/tcg.h
    M include/tcg/tcg.h
    M linux-user/main.c
    M meson.build
    M tcg/aarch64/tcg-target.h
    M tcg/arm/tcg-target.c.inc
    M tcg/arm/tcg-target.h
    M tcg/i386/tcg-target.h
    A tcg/meson.build
    M tcg/mips/tcg-target.h
    M tcg/ppc/tcg-target.h
    A tcg/region.c
    M tcg/riscv/tcg-target.h
    M tcg/s390/tcg-target.h
    M tcg/sparc/tcg-target.h
    A tcg/tcg-internal.h
    M tcg/tcg.c
    M tcg/tci/tcg-target.h
    M util/osdep.c

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

Clean up code_gen_buffer allocation.
Add tcg_remove_ops_after.
Fix tcg_constant_* documentation.
Improve TB chaining documentation.
Fix float32_exp2.
Fix arm tcg_out_op function signature.

# gpg: Signature made Mon 14 Jun 2021 02:12:35 BST
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* remotes/rth-gitlab/tags/pull-tcg-20210613: (34 commits)
  docs/devel: Explain in more detail the TB chaining mechanisms
  softfloat: Fix tp init in float32_exp2
  tcg/arm: Fix tcg_out_op function signature
  tcg: Fix documentation for tcg_constant_* vs tcg_temp_free_*
  tcg: Introduce tcg_remove_ops_after
  tcg: Move tcg_init_ctx and tcg_ctx from accel/tcg/
  tcg: When allocating for !splitwx, begin with PROT_NONE
  tcg: Merge buffer protection and guard page protection
  tcg: Round the tb_size default from qemu_get_host_physmem
  util/osdep: Add qemu_mprotect_rw
  tcg: Sink qemu_madvise call to common code
  tcg: Return the map protection from alloc_code_gen_buffer
  tcg: Allocate code_gen_buffer into struct tcg_region_state
  tcg: Move in_code_gen_buffer and tests to region.c
  tcg: Tidy split_cross_256mb
  tcg: Tidy tcg_n_regions
  tcg: Rename region.start to region.after_prologue
  tcg: Replace region.end with region.total_size
  tcg: Move MAX_CODE_GEN_BUFFER_SIZE to tcg-target.h
  tcg: Introduce tcg_max_ctxs
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/898a339ff71c...fbe7919ecee8



reply via email to

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