Re: [PULL v2 00/34] tcg patch queue

2021-06-14 Thread Peter Maydell
On Mon, 14 Jun 2021 at 02:21, Richard Henderson
 wrote:
>
> V2 fixes an error in patch 22 wrt MacOS.
> It's a shame we don't have public CI for that.
>
>
> r~
>
>
> The following changes since commit 894fc4fd670aaf04a67dc7507739f914ff4bacf2:
>
>   Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into 
> staging (2021-06-11 09:21:48 +0100)
>
> are available in the Git repository at:
>
>   https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20210613
>
> for you to fetch changes up to a5a8b84772e13066c6c45f480cc5b5312bbde08e:
>
>   docs/devel: Explain in more detail the TB chaining mechanisms (2021-06-13 
> 17:42:40 -0700)
>
> 
> 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.
>
> 


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/6.1
for any user-visible changes.

-- PMM



Re: [PULL v2 00/34] tcg patch queue

2021-06-13 Thread Philippe Mathieu-Daudé
On 6/14/21 3:20 AM, Richard Henderson wrote:
> V2 fixes an error in patch 22 wrt MacOS.
> It's a shame we don't have public CI for that.

We do:

https://cirrus-ci.com/github/qemu/qemu

Maybe it is not documented well enough?

Apparently we could integrate it to gitlab pipeline:
https://potyarkin.ml/posts/2020/cirrus-ci-integration-for-gitlab-projects/

> 
> 
> r~



[PULL v2 00/34] tcg patch queue

2021-06-13 Thread Richard Henderson
V2 fixes an error in patch 22 wrt MacOS.
It's a shame we don't have public CI for that.


r~


The following changes since commit 894fc4fd670aaf04a67dc7507739f914ff4bacf2:

  Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into 
staging (2021-06-11 09:21:48 +0100)

are available in the Git repository at:

  https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20210613

for you to fetch changes up to a5a8b84772e13066c6c45f480cc5b5312bbde08e:

  docs/devel: Explain in more detail the TB chaining mechanisms (2021-06-13 
17:42:40 -0700)


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.


Jose R. Ziviani (1):
  tcg/arm: Fix tcg_out_op function signature

Luis Pires (1):
  docs/devel: Explain in more detail the TB chaining mechanisms

Richard Henderson (32):
  meson: Split out tcg/meson.build
  meson: Split out fpu/meson.build
  tcg: Re-order tcg_region_init vs tcg_prologue_init
  tcg: Remove error return from tcg_region_initial_alloc__locked
  tcg: Split out tcg_region_initial_alloc
  tcg: Split out tcg_region_prologue_set
  tcg: Split out region.c
  accel/tcg: Inline cpu_gen_init
  accel/tcg: Move alloc_code_gen_buffer to tcg/region.c
  accel/tcg: Rename tcg_init to tcg_init_machine
  tcg: Create tcg_init
  accel/tcg: Merge tcg_exec_init into tcg_init_machine
  accel/tcg: Use MiB in tcg_init_machine
  accel/tcg: Pass down max_cpus to tcg_init
  tcg: Introduce tcg_max_ctxs
  tcg: Move MAX_CODE_GEN_BUFFER_SIZE to tcg-target.h
  tcg: Replace region.end with region.total_size
  tcg: Rename region.start to region.after_prologue
  tcg: Tidy tcg_n_regions
  tcg: Tidy split_cross_256mb
  tcg: Move in_code_gen_buffer and tests to region.c
  tcg: Allocate code_gen_buffer into struct tcg_region_state
  tcg: Return the map protection from alloc_code_gen_buffer
  tcg: Sink qemu_madvise call to common code
  util/osdep: Add qemu_mprotect_rw
  tcg: Round the tb_size default from qemu_get_host_physmem
  tcg: Merge buffer protection and guard page protection
  tcg: When allocating for !splitwx, begin with PROT_NONE
  tcg: Move tcg_init_ctx and tcg_ctx from accel/tcg/
  tcg: Introduce tcg_remove_ops_after
  tcg: Fix documentation for tcg_constant_* vs tcg_temp_free_*
  softfloat: Fix tp init in float32_exp2

 docs/devel/tcg.rst| 101 -
 meson.build   |  12 +-
 accel/tcg/internal.h  |   2 +
 include/qemu/osdep.h  |   1 +
 include/sysemu/tcg.h  |   2 -
 include/tcg/tcg.h |  28 +-
 tcg/aarch64/tcg-target.h  |   1 +
 tcg/arm/tcg-target.h  |   1 +
 tcg/i386/tcg-target.h |   2 +
 tcg/mips/tcg-target.h |   6 +
 tcg/ppc/tcg-target.h  |   2 +
 tcg/riscv/tcg-target.h|   1 +
 tcg/s390/tcg-target.h |   3 +
 tcg/sparc/tcg-target.h|   1 +
 tcg/tcg-internal.h|  40 ++
 tcg/tci/tcg-target.h  |   1 +
 accel/tcg/tcg-all.c   |  32 +-
 accel/tcg/translate-all.c | 439 +---
 bsd-user/main.c   |   3 +-
 fpu/softfloat.c   |   2 +-
 linux-user/main.c |   1 -
 tcg/region.c  | 999 ++
 tcg/tcg.c | 649 +++---
 util/osdep.c  |   9 +
 tcg/arm/tcg-target.c.inc  |   3 +-
 fpu/meson.build   |   1 +
 tcg/meson.build   |  14 +
 27 files changed, 1266 insertions(+), 1090 deletions(-)
 create mode 100644 tcg/tcg-internal.h
 create mode 100644 tcg/region.c
 create mode 100644 fpu/meson.build
 create mode 100644 tcg/meson.build



Re: [PULL v2 00/34] tcg patch queue

2020-01-17 Thread Peter Maydell
On Thu, 16 Jan 2020 at 01:40, Richard Henderson
 wrote:
>
> For version 2, drop the -static and -pie changes,
> i.e. patches 1-7 from version 1.
>
> I'll come back to those after the required linux-user changes are
> upstream.  In the meantime, it's still a large enough set of patches.
>
>
> r~
>
>
>
> The following changes since commit 3a63b24a1bbf166e6f455fe43a6bbd8dea413d92:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/ui-20200114-pull-request' 
> into staging (2020-01-14 16:00:31 +)
>
> are available in the Git repository at:
>
>   https://github.com/rth7680/qemu.git tags/pull-tcg-20200115
>
> for you to fetch changes up to 3e5a01ef0268ee4c9d342a26dbf6624d6b5b20d6:
>
>   MAINTAINERS: Replace Claudio Fontana for tcg/aarch64 (2020-01-15 15:13:10 
> -1000)
>
> 
> Add cpu_{ld,st}*_mmuidx_ra
> Remove MMU_MODE*_SUFFIX
> Move tcg headers under include/
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.0
for any user-visible changes.

-- PMM



[PULL v2 00/34] tcg patch queue

2020-01-15 Thread Richard Henderson
For version 2, drop the -static and -pie changes,
i.e. patches 1-7 from version 1.

I'll come back to those after the required linux-user changes are
upstream.  In the meantime, it's still a large enough set of patches.


r~



The following changes since commit 3a63b24a1bbf166e6f455fe43a6bbd8dea413d92:

  Merge remote-tracking branch 'remotes/kraxel/tags/ui-20200114-pull-request' 
into staging (2020-01-14 16:00:31 +)

are available in the Git repository at:

  https://github.com/rth7680/qemu.git tags/pull-tcg-20200115

for you to fetch changes up to 3e5a01ef0268ee4c9d342a26dbf6624d6b5b20d6:

  MAINTAINERS: Replace Claudio Fontana for tcg/aarch64 (2020-01-15 15:13:10 
-1000)


Add cpu_{ld,st}*_mmuidx_ra
Remove MMU_MODE*_SUFFIX
Move tcg headers under include/


Philippe Mathieu-Daudé (4):
  tcg: Search includes from the project root source directory
  tcg: Search includes in the parent source directory
  tcg: Move TCG headers to include/tcg/
  configure: Remove tcg/ from the preprocessor include search list

Richard Henderson (30):
  target/xtensa: Use probe_access for itlb_hit_test
  cputlb: Use trace_mem_get_info instead of trace_mem_build_info
  trace: Remove trace_mem_build_info_no_se_[bl]e
  target/s390x: Include tcg.h in mem_helper.c
  target/arm: Include tcg.h in sve_helper.c
  accel/tcg: Include tcg.h in tcg-runtime.c
  linux-user: Include tcg.h in syscall.c
  linux-user: Include trace-root.h in syscall-trace.h
  plugins: Include trace/mem.h in api.c
  cputlb: Move body of cpu_ldst_template.h out of line
  translator: Use cpu_ld*_code instead of open-coding
  cputlb: Rename helper_ret_ld*_cmmu to cpu_ld*_code
  cputlb: Provide cpu_(ld,st}*_mmuidx_ra for user-only
  target/i386: Use cpu_*_mmuidx_ra instead of templates
  cputlb: Expand cpu_ldst_useronly_template.h in user-exec.c
  target/nios2: Remove MMU_MODE{0,1}_SUFFIX
  target/alpha: Remove MMU_MODE{0,1}_SUFFIX
  target/cris: Remove MMU_MODE{0,1}_SUFFIX
  target/i386: Remove MMU_MODE{0,1,2}_SUFFIX
  target/microblaze: Remove MMU_MODE{0,1,2}_SUFFIX
  target/sh4: Remove MMU_MODE{0,1}_SUFFIX
  target/unicore32: Remove MMU_MODE{0,1}_SUFFIX
  target/xtensa: Remove MMU_MODE{0,1,2,3}_SUFFIX
  target/m68k: Use cpu_*_mmuidx_ra instead of MMU_MODE{0,1}_SUFFIX
  target/mips: Use cpu_*_mmuidx_ra instead of MMU_MODE*_SUFFIX
  target/s390x: Use cpu_*_mmuidx_ra instead of MMU_MODE*_SUFFIX
  target/ppc: Use cpu_*_mmuidx_ra instead of MMU_MODE*_SUFFIX
  cputlb: Remove support for MMU_MODE*_SUFFIX
  cputlb: Expand cpu_ldst_template.h in cputlb.c
  MAINTAINERS: Replace Claudio Fontana for tcg/aarch64

 accel/tcg/atomic_template.h   |  67 ++---
 include/exec/cpu_ldst.h   | 446 +-
 include/exec/cpu_ldst_template.h  | 211 --
 include/exec/cpu_ldst_useronly_template.h | 159 ---
 include/exec/translator.h |  48 +---
 {tcg => include/tcg}/tcg-gvec-desc.h  |   0
 {tcg => include/tcg}/tcg-mo.h |   0
 {tcg => include/tcg}/tcg-op-gvec.h|   0
 {tcg => include/tcg}/tcg-op.h |   2 +-
 {tcg => include/tcg}/tcg-opc.h|   0
 {tcg => include/tcg}/tcg.h|  33 +--
 include/user/syscall-trace.h  |   2 +
 target/alpha/cpu.h|   2 -
 target/cris/cpu.h |   2 -
 target/i386/cpu.h |   3 -
 target/m68k/cpu.h |   2 -
 target/microblaze/cpu.h   |   3 -
 target/mips/cpu.h |   4 -
 target/nios2/cpu.h|   2 -
 target/ppc/cpu.h  |   2 -
 target/s390x/cpu.h|   5 -
 target/sh4/cpu.h  |   2 -
 target/unicore32/cpu.h|   2 -
 target/xtensa/cpu.h   |   4 -
 tcg/i386/tcg-target.h |   2 +-
 trace/mem-internal.h  |  17 --
 accel/tcg/cpu-exec.c  |   2 +-
 accel/tcg/cputlb.c| 315 -
 accel/tcg/tcg-runtime-gvec.c  |   2 +-
 accel/tcg/tcg-runtime.c   |   1 +
 accel/tcg/translate-all.c |   2 +-
 accel/tcg/user-exec.c | 238 +++-
 bsd-user/main.c   |   2 +-
 cpus.c|   2 +-
 exec.c|   2 +-
 linux-user/main.c |   2 +-
 linux-user/syscall.c  |   1 +
 plugins/api.c |   1 +
 target/alpha/translate.c  |   2 +-
 target/arm/helper-a64.c   |   2 +-
 t