mbox

[PULL,v2,00/39] tcg and linux-user patch queue

Message ID 20240224010517.619640-1-richard.henderson@linaro.org
State New
Headers show

Pull-request

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

Message

Richard Henderson Feb. 24, 2024, 1:05 a.m. UTC
v2: Fix bsd-user build errors.


r~


The following changes since commit 3d54cbf269d63ff1d500b35b2bcf4565ff8ad485:

  Merge tag 'hw-misc-20240222' of https://github.com/philmd/qemu into staging (2024-02-22 15:44:29 +0000)

are available in the Git repository at:

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

for you to fetch changes up to fcc6ad372f56d3f47b6d5457a904916b48b9e114:

  linux-user: Remove pgb_dynamic alignment assertion (2024-02-23 15:07:03 -0800)

----------------------------------------------------------------
tcg/aarch64: Apple does not align __int128_t in even registers
accel/tcg: Fixes for page tables in mmio memory
linux-user: Remove qemu_host_page_{size,mask}, HOST_PAGE_ALIGN
migration: Remove qemu_host_page_size
hw/tpm: Remove qemu_host_page_size
softmmu: Remove qemu_host_page_{size,mask}, HOST_PAGE_ALIGN
linux-user: Split and reorganize target_mmap.
*-user: Deprecate and disable -p pagesize
linux-user: Allow TARGET_PAGE_BITS_VARY
target/alpha: Enable TARGET_PAGE_BITS_VARY for user-only
target/arm: Enable TARGET_PAGE_BITS_VARY for AArch64 user-only
target/ppc: Enable TARGET_PAGE_BITS_VARY for user-only
linux-user: Remove pgb_dynamic alignment assertion

----------------------------------------------------------------
Jonathan Cameron (1):
      tcg: Avoid double lock if page tables happen to be in mmio memory.

Peter Maydell (1):
      accel/tcg: Set can_do_io at at start of lookup_tb_ptr helper

Richard Henderson (37):
      tcg/aarch64: Apple does not align __int128_t in even registers
      accel/tcg: Remove qemu_host_page_size from page_protect/page_unprotect
      linux-user: Adjust SVr4 NULL page mapping
      linux-user: Remove qemu_host_page_{size, mask} in probe_guest_base
      linux-user: Remove qemu_host_page_size from create_elf_tables
      linux-user/hppa: Simplify init_guest_commpage
      linux-user/nios2: Remove qemu_host_page_size from init_guest_commpage
      linux-user/arm: Remove qemu_host_page_size from init_guest_commpage
      linux-user: Remove qemu_host_page_{size, mask} from mmap.c
      linux-user: Remove REAL_HOST_PAGE_ALIGN from mmap.c
      linux-user: Remove HOST_PAGE_ALIGN from mmap.c
      migration: Remove qemu_host_page_size
      hw/tpm: Remove HOST_PAGE_ALIGN from tpm_ppi_init
      softmmu/physmem: Remove qemu_host_page_size
      softmmu/physmem: Remove HOST_PAGE_ALIGN
      linux-user: Remove qemu_host_page_size from main
      linux-user: Split out target_mmap__locked
      linux-user: Move some mmap checks outside the lock
      linux-user: Fix sub-host-page mmap
      linux-user: Split out mmap_end
      linux-user: Do early mmap placement only for reserved_va
      linux-user: Split out do_munmap
      linux-user: Use do_munmap for target_mmap failure
      linux-user: Split out mmap_h_eq_g
      linux-user: Split out mmap_h_lt_g
      linux-user: Split out mmap_h_gt_g
      tests/tcg: Remove run-test-mmap-*
      tests/tcg: Extend file in linux-madvise.c
      *-user: Deprecate and disable -p pagesize
      cpu: Remove page_size_init
      accel/tcg: Disconnect TargetPageDataNode from page size
      linux-user: Allow TARGET_PAGE_BITS_VARY
      target/arm: Enable TARGET_PAGE_BITS_VARY for AArch64 user-only
      linux-user: Bound mmap_min_addr by host page size
      target/ppc: Enable TARGET_PAGE_BITS_VARY for user-only
      target/alpha: Enable TARGET_PAGE_BITS_VARY for user-only
      linux-user: Remove pgb_dynamic alignment assertion

 docs/about/deprecated.rst                 |  10 +
 docs/user/main.rst                        |   3 -
 bsd-user/qemu.h                           |   7 +
 include/exec/cpu-common.h                 |   7 -
 include/hw/core/cpu.h                     |   2 -
 target/alpha/cpu-param.h                  |  16 +-
 target/arm/cpu-param.h                    |   6 +-
 target/ppc/cpu-param.h                    |   9 +-
 tcg/aarch64/tcg-target.h                  |   6 +-
 accel/tcg/cpu-exec.c                      |   8 +
 accel/tcg/cputlb.c                        |  34 +-
 accel/tcg/translate-all.c                 |   1 -
 accel/tcg/user-exec.c                     |  31 +-
 bsd-user/main.c                           |  23 +-
 cpu-target.c                              |  16 -
 hw/tpm/tpm_ppi.c                          |   6 +-
 linux-user/elfload.c                      |  68 +--
 linux-user/main.c                         |  34 +-
 linux-user/mmap.c                         | 767 ++++++++++++++++++------------
 migration/ram.c                           |  22 +-
 system/physmem.c                          |  17 +-
 system/vl.c                               |   1 -
 target/arm/cpu.c                          |  51 +-
 tests/tcg/multiarch/linux/linux-madvise.c |   2 +
 tests/tcg/alpha/Makefile.target           |   3 -
 tests/tcg/arm/Makefile.target             |   3 -
 tests/tcg/hppa/Makefile.target            |   3 -
 tests/tcg/i386/Makefile.target            |   3 -
 tests/tcg/m68k/Makefile.target            |   3 -
 tests/tcg/multiarch/Makefile.target       |   9 -
 tests/tcg/ppc/Makefile.target             |  12 -
 tests/tcg/sh4/Makefile.target             |   3 -
 tests/tcg/sparc64/Makefile.target         |   6 -
 33 files changed, 701 insertions(+), 491 deletions(-)
 delete mode 100644 tests/tcg/ppc/Makefile.target
 delete mode 100644 tests/tcg/sparc64/Makefile.target

Comments

Peter Maydell Feb. 24, 2024, 4:15 p.m. UTC | #1
On Sat, 24 Feb 2024 at 01:06, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> v2: Fix bsd-user build errors.
>
>
> r~
>
>
> The following changes since commit 3d54cbf269d63ff1d500b35b2bcf4565ff8ad485:
>
>   Merge tag 'hw-misc-20240222' of https://github.com/philmd/qemu into staging (2024-02-22 15:44:29 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20240222-2
>
> for you to fetch changes up to fcc6ad372f56d3f47b6d5457a904916b48b9e114:
>
>   linux-user: Remove pgb_dynamic alignment assertion (2024-02-23 15:07:03 -0800)
>
> ----------------------------------------------------------------
> tcg/aarch64: Apple does not align __int128_t in even registers
> accel/tcg: Fixes for page tables in mmio memory
> linux-user: Remove qemu_host_page_{size,mask}, HOST_PAGE_ALIGN
> migration: Remove qemu_host_page_size
> hw/tpm: Remove qemu_host_page_size
> softmmu: Remove qemu_host_page_{size,mask}, HOST_PAGE_ALIGN
> linux-user: Split and reorganize target_mmap.
> *-user: Deprecate and disable -p pagesize
> linux-user: Allow TARGET_PAGE_BITS_VARY
> target/alpha: Enable TARGET_PAGE_BITS_VARY for user-only
> target/arm: Enable TARGET_PAGE_BITS_VARY for AArch64 user-only
> target/ppc: Enable TARGET_PAGE_BITS_VARY for user-only
> linux-user: Remove pgb_dynamic alignment assertion
>
> ----------------------------------------------------------------

Hi -- looks like this introduces an new variable-length-array, which
we are trying to get rid of:

../linux-user/elfload.c: In function 'vma_dump_size':
../linux-user/elfload.c:4254:9: error: ISO C90 forbids variable length
array 'page' [-Werror=vla]
4254 | char page[TARGET_PAGE_SIZE];
| ^~~~
../linux-user/elfload.c: In function 'elf_core_dump':
../linux-user/elfload.c:4778:13: error: ISO C90 forbids variable
length array 'page' [-Werror=vla]
4778 | char page[TARGET_PAGE_SIZE];
| ^~~~

I noticed this because I happened to test merging this pullreq
together with Thomas's testing pullreq that enforces the -Wvla
error. I'll be merging that testing pull shortly but it's not
upstream quite yet.

thanks
-- PMM
Richard Henderson Feb. 24, 2024, 8:56 p.m. UTC | #2
On 2/24/24 06:15, Peter Maydell wrote:
> Hi -- looks like this introduces an new variable-length-array, which
> we are trying to get rid of:
> 
> ../linux-user/elfload.c: In function 'vma_dump_size':
> ../linux-user/elfload.c:4254:9: error: ISO C90 forbids variable length
> array 'page' [-Werror=vla]
> 4254 | char page[TARGET_PAGE_SIZE];
> | ^~~~
> ../linux-user/elfload.c: In function 'elf_core_dump':
> ../linux-user/elfload.c:4778:13: error: ISO C90 forbids variable
> length array 'page' [-Werror=vla]
> 4778 | char page[TARGET_PAGE_SIZE];
> | ^~~~
> 
> I noticed this because I happened to test merging this pullreq
> together with Thomas's testing pullreq that enforces the -Wvla
> error. I'll be merging that testing pull shortly but it's not
> upstream quite yet.

Ok, please merge Thomas' first and I'll fix this up.
It looks like we should be dynamically allocating these anyway.


r~