qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] f3c637: target/m68k: Fix exception frame form


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] f3c637: target/m68k: Fix exception frame format for 68010
Date: Sat, 24 Feb 2024 04:50:52 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: f3c6376c8475388e5218a9503f0c545ca26492a5
      
https://github.com/qemu/qemu/commit/f3c6376c8475388e5218a9503f0c545ca26492a5
  Author: Daniel Palmer <daniel@0x0f.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M target/m68k/cpu.c
    M target/m68k/cpu.h
    M target/m68k/op_helper.c

  Log Message:
  -----------
  target/m68k: Fix exception frame format for 68010

>From the 68010 a word with the frame format and exception vector
are placed on the stack before the PC and SR.

M68K_FEATURE_QUAD_MULDIV is currently checked to workout if to do
this or not for the configured CPU but that flag isn't set for
68010 so currently the exception stack when 68010 is configured
is incorrect.

It seems like checking M68K_FEATURE_MOVEFROMSR_PRIV would do but
adding a new flag that shows exactly what is going on here is
maybe clearer.

Add a new flag for the behaviour, M68K_FEATURE_EXCEPTION_FORMAT_VEC,
and set it for 68010 and above, and then use it to control if the
format and vector word are pushed/pop during exception entry/exit.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2164
Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Message-ID: <20240115101643.2165387-1-daniel@0x0f.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 0b76a1a959ef1ea35f543babfb89baf2a6545c1a
      
https://github.com/qemu/qemu/commit/0b76a1a959ef1ea35f543babfb89baf2a6545c1a
  Author: Bibo Mao <maobibo@loongson.cn>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M tests/qtest/cdrom-test.c

  Log Message:
  -----------
  tests/cdrom-test: Add cdrom test for LoongArch virt machine

The cdrom test skips to execute on LoongArch system with command
"make check", this patch enables cdrom test for LoongArch virt
machine platform.

With this patch, cdrom test passes to run on LoongArch virt
machine type.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Message-ID: <20240217100230.134042-1-maobibo@loongson.cn>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 1172428fb1486ae2fd2c033efd5c3875f664422d
      
https://github.com/qemu/qemu/commit/1172428fb1486ae2fd2c033efd5c3875f664422d
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M tests/qtest/boot-serial-test.c

  Log Message:
  -----------
  tests/qtest: Fix boot-serial-test when using --without-default-devices

If "configure" has been run with "--without-default-devices", there is
no e1000 device in the binaries, so the boot-serial-test currently fails
in that case since it tries to use the e1000 with the sam460ex machine.

Since we're testing the serial output here, and not the NIC, let's
simply switch to the "pci-bridge" device here instead, which should
always be there for PCI-based machines like the sam460ex.

Message-ID: <20240219111030.384158-1-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 0e9a89193d06a3b03b1332c4115d8b822e5ab96c
      
https://github.com/qemu/qemu/commit/0e9a89193d06a3b03b1332c4115d8b822e5ab96c
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M tests/qtest/dbus-display-test.c

  Log Message:
  -----------
  tests: skip dbus-display tests that need a console

When compiling with "configure --without-default-devices", the
dbus-display-test fails since it implicitly assumes that the
machine comes with a default console.

There doesn't seem to be an easy way to figure this during build time,
so skip the tests requiring the Console interface at runtime.

Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20240221073759.171443-1-marcandre.lureau@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: aba594da9645aa6bdb4e2729df2755c186023ca3
      
https://github.com/qemu/qemu/commit/aba594da9645aa6bdb4e2729df2755c186023ca3
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M target/ppc/kvm.c

  Log Message:
  -----------
  target/ppc/kvm: Replace variable length array in kvmppc_save_htab()

To be able to compile QEMU with -Wvla (to prevent potential security
issues), we need to get rid of the variable length array in the
kvmppc_save_htab() function. Replace it with a heap allocation instead.

Message-ID: <20240221162636.173136-2-thuth@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 97c2fc5076be1fb37e7af5287289c3ee023faabd
      
https://github.com/qemu/qemu/commit/97c2fc5076be1fb37e7af5287289c3ee023faabd
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M target/ppc/kvm.c

  Log Message:
  -----------
  target/ppc/kvm: Replace variable length array in kvmppc_read_hptes()

HPTES_PER_GROUP is 8 and HASH_PTE_SIZE_64 is 16, so we don't waste
too many bytes by always allocating the maximum amount of bytes on
the stack here to get rid of the variable length array.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Message-ID: <20240221162636.173136-3-thuth@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 64c1a5443528ac09d8cd50f365d6a2fb8375b90c
      
https://github.com/qemu/qemu/commit/64c1a5443528ac09d8cd50f365d6a2fb8375b90c
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: Enable -Wvla

QEMU has historically used variable length arrays only very rarely.
Variable length arrays are a potential security issue where an
on-stack dynamic allocation isn't correctly size-checked, especially
when the size comes from the guest.  (An example problem of this kind
from the past is CVE-2021-3527).  Forbidding them entirely is a
defensive measure against further bugs of this kind.

Enable -Wvla to prevent any new uses from sneaking into the codebase.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-ID: <20240125173211.1786196-3-peter.maydell@linaro.org>
[thuth: rebased to current master branch]
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240221162636.173136-4-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 34fabc85e0c626999768995ec3eff1c5a5143354
      
https://github.com/qemu/qemu/commit/34fabc85e0c626999768995ec3eff1c5a5143354
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M docs/about/build-platforms.rst
    M docs/about/removed-features.rst

  Log Message:
  -----------
  docs: Document that 32-bit Windows is unsupported

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: "Daniel P. Berrangé" <berrange@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-ID: <20240222130920.362517-2-peter.maydell@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 8b47ec7abe4f91b89c6a411f384ef3e8d663841c
      
https://github.com/qemu/qemu/commit/8b47ec7abe4f91b89c6a411f384ef3e8d663841c
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M .gitlab-ci.d/container-cross.yml
    M .gitlab-ci.d/crossbuilds.yml
    R tests/docker/dockerfiles/fedora-win32-cross.docker
    M tests/lcitool/refresh

  Log Message:
  -----------
  .gitlab-ci.d: Drop cross-win32-system job

We don't support 32-bit Windows any more, so we don't need to defend it
with this CI job.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: "Daniel P. Berrangé" <berrange@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20240222130920.362517-3-peter.maydell@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: b7b1596da5886490e5e7a627e504f215bc593d54
      
https://github.com/qemu/qemu/commit/b7b1596da5886490e5e7a627e504f215bc593d54
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M .gitlab-ci.d/windows.yml

  Log Message:
  -----------
  .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction

Now we don't build msys2-32bit we don't need the abstraction out of the
common msys2 handling from the 32-vs-64-bit specifics. Collapse it
down into the msys2-64bit job definition.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: "Daniel P. Berrangé" <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240222130920.362517-4-peter.maydell@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 028ade14da9eb31a8c5dde48dd5b140e49888908
      
https://github.com/qemu/qemu/commit/028ade14da9eb31a8c5dde48dd5b140e49888908
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  target/i386: do not filter processor tracing features except on KVM

The processor tracing features in cpu_x86_cpuid() are hardcoded to a set
that should be safe on all processor that support PT virtualization.
But as an additional check, x86_cpu_filter_features() also checks
that the accelerator supports that safe subset, and if not it marks
CPUID_7_0_EBX_INTEL_PT as unavailable.

This check fails on accelerators other than KVM, but it is actually
unnecessary to do it because KVM is the only accelerator that uses the
safe subset.  Everything else just provides nonzero values for CPUID
leaf 0x14 (TCG/HVF because processor tracing is not supported; qtest
because nothing is able to read CPUID anyway).  Restricting the check
to KVM fixes a warning with the qtest accelerator:

    $ qemu-system-x86_64 -display none -cpu max,mmx=off -accel qtest
    qemu-system-x86_64: warning: TCG doesn't support requested feature: 
CPUID.07H:EBX.intel-pt [bit 25]

The warning also happens in the test-x86-cpuid-compat qtest.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2096
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20240221162910.101327-1-pbonzini@redhat.com>
Fixes: d047402436 ("target/i386: Call accel-agnostic 
x86_cpu_get_supported_cpuid()")
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 029cd950b6dfd40b58b6cfa470860ba27ca6da6a
      
https://github.com/qemu/qemu/commit/029cd950b6dfd40b58b6cfa470860ba27ca6da6a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M tcg/aarch64/tcg-target.h

  Log Message:
  -----------
  tcg/aarch64: Apple does not align __int128_t in even registers

>From 
>https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms

  When passing an argument with 16-byte alignment in integer registers,
  Apple platforms allow the argument to start in an odd-numbered xN
  register. The standard ABI requires it to begin in an even-numbered
  xN register.

Cc: qemu-stable@nongnu.org
Fixes: 5427a9a7604 ("tcg: Add TCG_TARGET_CALL_{RET,ARG}_I128")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2169
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <9fc0c2c7-dd57-459e-aecb-528edb74b4a7@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 19660926371e84fe920bcc430de7cec1bd8d2d7a
      
https://github.com/qemu/qemu/commit/19660926371e84fe920bcc430de7cec1bd8d2d7a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c

  Log Message:
  -----------
  accel/tcg: Set can_do_io at at start of lookup_tb_ptr helper

If a page table is in IO memory and lookup_tb_ptr probes
the TLB it can result in a page table walk for the instruction
fetch.  If this hits IO memory and io_prepare falsely assumes
it needs to do a TLB recompile.

Avoid that by setting can_do_io at the start of lookup_tb_ptr.

Link: 
https://lore.kernel.org/qemu-devel/CAFEAcA_a_AyQ=Epz3_+CheAT8Crsk9mOu894wbNW_FywamkZiw@mail.gmail.com/#t

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20240219173153.12114-2-Jonathan.Cameron@huawei.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e05ef9e72ac4260906303744ebfe7ce36b4bbd8b
      
https://github.com/qemu/qemu/commit/e05ef9e72ac4260906303744ebfe7ce36b4bbd8b
  Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  tcg: Avoid double lock if page tables happen to be in mmio memory.

On i386, after fixing the page walking code to work with pages in
MMIO memory (specifically CXL emulated interleaved memory),
a crash was seen in an interrupt handling path.

Useful part of backtrace

7  0x0000555555ab1929 in bql_lock_impl (file=0x555556049122 
"../../accel/tcg/cputlb.c", line=2033) at ../../system/cpus.c:524
8  bql_lock_impl (file=file@entry=0x555556049122 "../../accel/tcg/cputlb.c", 
line=line@entry=2033) at ../../system/cpus.c:520
9  0x0000555555c9f7d6 in do_ld_mmio_beN (cpu=0x5555578e0cb0, 
full=0x7ffe88012950, ret_be=ret_be@entry=0, addr=19595792376, 
size=size@entry=8, mmu_idx=4, type=MMU_DATA_LOAD, ra=0) at 
../../accel/tcg/cputlb.c:2033
10 0x0000555555ca0fbd in do_ld_8 (cpu=cpu@entry=0x5555578e0cb0, 
p=p@entry=0x7ffff4efd1d0, mmu_idx=<optimized out>, 
type=type@entry=MMU_DATA_LOAD, memop=<optimized out>, ra=ra@entry=0) at 
../../accel/tcg/cputlb.c:2356
11 0x0000555555ca341f in do_ld8_mmu (cpu=cpu@entry=0x5555578e0cb0, 
addr=addr@entry=19595792376, oi=oi@entry=52, ra=0, ra@entry=52, 
access_type=access_type@entry=MMU_DATA_LOAD) at ../../accel/tcg/cputlb.c:2439
12 0x0000555555ca5f59 in cpu_ldq_mmu (ra=52, oi=52, addr=19595792376, 
env=0x5555578e3470) at ../../accel/tcg/ldst_common.c.inc:169
13 cpu_ldq_le_mmuidx_ra (env=0x5555578e3470, addr=19595792376, 
mmu_idx=<optimized out>, ra=ra@entry=0) at ../../accel/tcg/ldst_common.c.inc:301
14 0x0000555555b4b5fc in ptw_ldq (ra=0, in=0x7ffff4efd320) at 
../../target/i386/tcg/sysemu/excp_helper.c:98
15 ptw_ldq (ra=0, in=0x7ffff4efd320) at 
../../target/i386/tcg/sysemu/excp_helper.c:93
16 mmu_translate (env=env@entry=0x5555578e3470, in=0x7ffff4efd3e0, 
out=0x7ffff4efd3b0, err=err@entry=0x7ffff4efd3c0, ra=ra@entry=0) at 
../../target/i386/tcg/sysemu/excp_helper.c:174
17 0x0000555555b4c4b3 in get_physical_address (ra=0, err=0x7ffff4efd3c0, 
out=0x7ffff4efd3b0, mmu_idx=0, access_type=MMU_DATA_LOAD, 
addr=18446741874686299840, env=0x5555578e3470) at 
../../target/i386/tcg/sysemu/excp_helper.c:580
18 x86_cpu_tlb_fill (cs=0x5555578e0cb0, addr=18446741874686299840, 
size=<optimized out>, access_type=MMU_DATA_LOAD, mmu_idx=0, probe=<optimized 
out>, retaddr=0) at ../../target/i386/tcg/sysemu/excp_helper.c:606
19 0x0000555555ca0ee9 in tlb_fill (retaddr=0, mmu_idx=0, 
access_type=MMU_DATA_LOAD, size=<optimized out>, addr=18446741874686299840, 
cpu=0x7ffff4efd540) at ../../accel/tcg/cputlb.c:1315
20 mmu_lookup1 (cpu=cpu@entry=0x5555578e0cb0, data=data@entry=0x7ffff4efd540, 
mmu_idx=0, access_type=access_type@entry=MMU_DATA_LOAD, ra=ra@entry=0) at 
../../accel/tcg/cputlb.c:1713
21 0x0000555555ca2c61 in mmu_lookup (cpu=cpu@entry=0x5555578e0cb0, 
addr=addr@entry=18446741874686299840, oi=oi@entry=32, ra=ra@entry=0, 
type=type@entry=MMU_DATA_LOAD, l=l@entry=0x7ffff4efd540) at 
../../accel/tcg/cputlb.c:1803
22 0x0000555555ca3165 in do_ld4_mmu (cpu=cpu@entry=0x5555578e0cb0, 
addr=addr@entry=18446741874686299840, oi=oi@entry=32, ra=ra@entry=0, 
access_type=access_type@entry=MMU_DATA_LOAD) at ../../accel/tcg/cputlb.c:2416
23 0x0000555555ca5ef9 in cpu_ldl_mmu (ra=0, oi=32, addr=18446741874686299840, 
env=0x5555578e3470) at ../../accel/tcg/ldst_common.c.inc:158
24 cpu_ldl_le_mmuidx_ra (env=env@entry=0x5555578e3470, 
addr=addr@entry=18446741874686299840, mmu_idx=<optimized out>, ra=ra@entry=0) 
at ../../accel/tcg/ldst_common.c.inc:294
25 0x0000555555bb6cdd in do_interrupt64 (is_hw=1, 
next_eip=18446744072399775809, error_code=0, is_int=0, intno=236, 
env=0x5555578e3470) at ../../target/i386/tcg/seg_helper.c:889
26 do_interrupt_all (cpu=cpu@entry=0x5555578e0cb0, intno=236, 
is_int=is_int@entry=0, error_code=error_code@entry=0, 
next_eip=next_eip@entry=0, is_hw=is_hw@entry=1) at 
../../target/i386/tcg/seg_helper.c:1130
27 0x0000555555bb87da in do_interrupt_x86_hardirq 
(env=env@entry=0x5555578e3470, intno=<optimized out>, is_hw=is_hw@entry=1) at 
../../target/i386/tcg/seg_helper.c:1162
28 0x0000555555b5039c in x86_cpu_exec_interrupt (cs=0x5555578e0cb0, 
interrupt_request=<optimized out>) at 
../../target/i386/tcg/sysemu/seg_helper.c:197
29 0x0000555555c94480 in cpu_handle_interrupt (last_tb=<synthetic pointer>, 
cpu=0x5555578e0cb0) at ../../accel/tcg/cpu-exec.c:844

Peter identified this as being due to the BQL already being
held when the page table walker encounters MMIO memory and attempts
to take the lock again.  There are other examples of similar paths
TCG, so this follows the approach taken in those of simply checking
if the lock is already held and if it is, don't take it again.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20240219173153.12114-4-Jonathan.Cameron@huawei.com>
[rth: Use BQL_LOCK_GUARD]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a3a9accb62f4a1a9f8a863c94cd0dbc73af4b763
      
https://github.com/qemu/qemu/commit/a3a9accb62f4a1a9f8a863c94cd0dbc73af4b763
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M accel/tcg/user-exec.c

  Log Message:
  -----------
  accel/tcg: Remove qemu_host_page_size from page_protect/page_unprotect

Use qemu_real_host_page_size instead.  Except for the final mprotect
within page_protect, we already handled host < target page size.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-2-richard.henderson@linaro.org>


  Commit: d240d53676ea62cf2770225bf5f27c70b98e454a
      
https://github.com/qemu/qemu/commit/d240d53676ea62cf2770225bf5f27c70b98e454a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user: Adjust SVr4 NULL page mapping

Use TARGET_PAGE_SIZE and MAP_FIXED_NOREPLACE.

We really should be attending to this earlier during
probe_guest_base, as well as better detection and
emulation of various Linux personalities.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-3-richard.henderson@linaro.org>


  Commit: 51f2a34ed491036ec7297d9f09cad28fdf24f276
      
https://github.com/qemu/qemu/commit/51f2a34ed491036ec7297d9f09cad28fdf24f276
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user: Remove qemu_host_page_{size, mask} in probe_guest_base

The host SHMLBA is by definition a multiple of the host page size.
Thus the remaining component of qemu_host_page_size is the
target page size.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-4-richard.henderson@linaro.org>


  Commit: e99f92cd2ea06f797273723666c1c3af3f46c367
      
https://github.com/qemu/qemu/commit/e99f92cd2ea06f797273723666c1c3af3f46c367
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user: Remove qemu_host_page_size from create_elf_tables

AT_PAGESZ is supposed to advertise the guest page size.
The random adjustment made here using qemu_host_page_size
does not match anything else within linux-user.

The idea here is good, but should be done more systemically
via adjustment to TARGET_PAGE_SIZE.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-5-richard.henderson@linaro.org>


  Commit: 3a198ef2c971643467d9438b3d24e7897e96d362
      
https://github.com/qemu/qemu/commit/3a198ef2c971643467d9438b3d24e7897e96d362
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user/hppa: Simplify init_guest_commpage

If reserved_va, then we have already reserved the entire
guest virtual address space; no need to remap page.
If !reserved_va, then use MAP_FIXED_NOREPLACE.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-6-richard.henderson@linaro.org>


  Commit: 885f9da5482bc83d535c6b79850a5f9a1369a8d3
      
https://github.com/qemu/qemu/commit/885f9da5482bc83d535c6b79850a5f9a1369a8d3
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user/nios2: Remove qemu_host_page_size from init_guest_commpage

Use qemu_real_host_page_size.
If !reserved_va, use MAP_FIXED_NOREPLACE.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-7-richard.henderson@linaro.org>


  Commit: 6dc124b339649df78c4e5e64dd192ab996552811
      
https://github.com/qemu/qemu/commit/6dc124b339649df78c4e5e64dd192ab996552811
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user/arm: Remove qemu_host_page_size from init_guest_commpage

Use qemu_real_host_page_size.
If the commpage is not within reserved_va, use MAP_FIXED_NOREPLACE.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-8-richard.henderson@linaro.org>


  Commit: 35f0dc1ee9205b91e48daf5a1e2bc201e8efffea
      
https://github.com/qemu/qemu/commit/35f0dc1ee9205b91e48daf5a1e2bc201e8efffea
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Remove qemu_host_page_{size, mask} from mmap.c

Use qemu_real_host_page_size instead.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-9-richard.henderson@linaro.org>


  Commit: 88a48da499fc2c69cf9e29d864b4b002fbc85205
      
https://github.com/qemu/qemu/commit/88a48da499fc2c69cf9e29d864b4b002fbc85205
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Remove REAL_HOST_PAGE_ALIGN from mmap.c

We already have qemu_real_host_page_size() in a local variable.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-10-richard.henderson@linaro.org>


  Commit: efcd3241b24f585cf2b82bc8fbbc8cc89badeab9
      
https://github.com/qemu/qemu/commit/efcd3241b24f585cf2b82bc8fbbc8cc89badeab9
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Remove HOST_PAGE_ALIGN from mmap.c

This removes a hidden use of qemu_host_page_size, using instead
the existing host_page_size local within each function.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-11-richard.henderson@linaro.org>


  Commit: a7b3d25dd61c51857e23fb38ff4b6e04a87dd8a0
      
https://github.com/qemu/qemu/commit/a7b3d25dd61c51857e23fb38ff4b6e04a87dd8a0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: Remove qemu_host_page_size

Replace with the maximum of the real host page size
and the target page size.  This is an exact replacement.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-12-richard.henderson@linaro.org>


  Commit: d713ac60d2169fffd88350e6d74daaa0a4cc6b6f
      
https://github.com/qemu/qemu/commit/d713ac60d2169fffd88350e6d74daaa0a4cc6b6f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M hw/tpm/tpm_ppi.c

  Log Message:
  -----------
  hw/tpm: Remove HOST_PAGE_ALIGN from tpm_ppi_init

This removes a hidden use of qemu_host_page_size, hoisting
two uses of qemu_real_host_page_size to a local variable.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>


  Commit: 8eb5607fb91f085e6a6ad32e9660b7810f543c3b
      
https://github.com/qemu/qemu/commit/8eb5607fb91f085e6a6ad32e9660b7810f543c3b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M system/physmem.c

  Log Message:
  -----------
  softmmu/physmem: Remove qemu_host_page_size

Use qemu_real_host_page_size() instead.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-14-richard.henderson@linaro.org>


  Commit: f0c8bdcf28ba2288ed672227cb724f31fb0a9953
      
https://github.com/qemu/qemu/commit/f0c8bdcf28ba2288ed672227cb724f31fb0a9953
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M system/physmem.c

  Log Message:
  -----------
  softmmu/physmem: Remove HOST_PAGE_ALIGN

Align allocation sizes to the maximum of host and target page sizes.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-15-richard.henderson@linaro.org>


  Commit: 45258e36dd518516880bfec4672bfeecb0734b1d
      
https://github.com/qemu/qemu/commit/45258e36dd518516880bfec4672bfeecb0734b1d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/main.c

  Log Message:
  -----------
  linux-user: Remove qemu_host_page_size from main

Use qemu_real_host_page_size() instead.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-16-richard.henderson@linaro.org>


  Commit: 78321f7fade932cf1dda0dd68ffd67bb80713a10
      
https://github.com/qemu/qemu/commit/78321f7fade932cf1dda0dd68ffd67bb80713a10
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Split out target_mmap__locked

All "goto fail" may be transformed to "return -1".

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-17-richard.henderson@linaro.org>


  Commit: df9ac2c0237e75510383e164fc90f752184d3e90
      
https://github.com/qemu/qemu/commit/df9ac2c0237e75510383e164fc90f752184d3e90
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Move some mmap checks outside the lock

Basic validation of operands does not require the lock.
Hoist them from target_mmap__locked back into target_mmap.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-18-richard.henderson@linaro.org>


  Commit: 4a777210b47aef581ca5e7329853a134589c9961
      
https://github.com/qemu/qemu/commit/4a777210b47aef581ca5e7329853a134589c9961
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Fix sub-host-page mmap

We cannot skip over the_end1 to the_end, because we fail to
record the validity of the guest page with the interval tree.
Remove "the_end" and rename "the_end1" to "the_end".

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-19-richard.henderson@linaro.org>


  Commit: 4d44e83a19c9c4329b1292d895d334b5e73949e0
      
https://github.com/qemu/qemu/commit/4d44e83a19c9c4329b1292d895d334b5e73949e0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Split out mmap_end

Use a subroutine instead of a goto within target_mmap__locked.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-20-richard.henderson@linaro.org>


  Commit: a0ce5ebb265e69709272e66ab21a1c77fd12bd92
      
https://github.com/qemu/qemu/commit/a0ce5ebb265e69709272e66ab21a1c77fd12bd92
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Do early mmap placement only for reserved_va

For reserved_va, place all non-fixed maps then proceed
as for MAP_FIXED.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-21-richard.henderson@linaro.org>


  Commit: 4a8579ad8629b57a43daa62e46cc7af6e1078116
      
https://github.com/qemu/qemu/commit/4a8579ad8629b57a43daa62e46cc7af6e1078116
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Split out do_munmap

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 551a8fcb9a437af14cb9a18015c757e58fe7be6e
      
https://github.com/qemu/qemu/commit/551a8fcb9a437af14cb9a18015c757e58fe7be6e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Use do_munmap for target_mmap failure

For the cases for which the host mmap succeeds, but does
not yield the desired address, use do_munmap to restore
the reserved_va memory reservation.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: acc52221733b56c64a4a9a2c9792b3a4af917e95
      
https://github.com/qemu/qemu/commit/acc52221733b56c64a4a9a2c9792b3a4af917e95
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Split out mmap_h_eq_g

Move the MAX_FIXED_NOREPLACE check for reserved_va earlier.
Move the computation of host_prot earlier.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-22-richard.henderson@linaro.org>


  Commit: b7c0db8978f47f7c1641036427e2adea1a78ba06
      
https://github.com/qemu/qemu/commit/b7c0db8978f47f7c1641036427e2adea1a78ba06
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Split out mmap_h_lt_g

Work much harder to get alignment and mapping beyond the end
of the file correct.  Both of which are excercised by our
test-mmap for alpha (8k pages) on any 4k page host.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-23-richard.henderson@linaro.org>


  Commit: 25c24d3835d084bb20e975a478e9534e22aa94ab
      
https://github.com/qemu/qemu/commit/25c24d3835d084bb20e975a478e9534e22aa94ab
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: Split out mmap_h_gt_g

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-24-richard.henderson@linaro.org>


  Commit: 91c92809486c102c6fe705078d5c9634eb62f833
      
https://github.com/qemu/qemu/commit/91c92809486c102c6fe705078d5c9634eb62f833
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M tests/tcg/alpha/Makefile.target
    M tests/tcg/arm/Makefile.target
    M tests/tcg/hppa/Makefile.target
    M tests/tcg/i386/Makefile.target
    M tests/tcg/m68k/Makefile.target
    M tests/tcg/multiarch/Makefile.target
    R tests/tcg/ppc/Makefile.target
    M tests/tcg/sh4/Makefile.target
    R tests/tcg/sparc64/Makefile.target

  Log Message:
  -----------
  tests/tcg: Remove run-test-mmap-*

These tests are confused, because -p does not change
the guest page size, but the host page size.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-25-richard.henderson@linaro.org>


  Commit: 998aaed7476842863eca0b665659e1b658548819
      
https://github.com/qemu/qemu/commit/998aaed7476842863eca0b665659e1b658548819
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M tests/tcg/multiarch/linux/linux-madvise.c

  Log Message:
  -----------
  tests/tcg: Extend file in linux-madvise.c

When guest page size > host page size, this test can fail
due to the SIGBUS protection hack.  Avoid this by making
sure that the file size is at least one guest page.

Visible with alpha guest on x86_64 host.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-26-richard.henderson@linaro.org>


  Commit: 8895984207dc01add30a54b5aba00d60252491ea
      
https://github.com/qemu/qemu/commit/8895984207dc01add30a54b5aba00d60252491ea
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M bsd-user/main.c
    M docs/about/deprecated.rst
    M docs/user/main.rst
    M linux-user/main.c

  Log Message:
  -----------
  *-user: Deprecate and disable -p pagesize

This option controls the host page size.  From the mis-usage in
our own testsuite, this is easily confused with guest page size.

The only thing that occurs when changing the host page size is
that stuff breaks, because one cannot actually change the host
page size.  Therefore reject all but the no-op setting as part
of the deprecation process.

Reviewed-by: Warner Losh <imp@bsdimp.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-27-richard.henderson@linaro.org>


  Commit: 7e62ae5b18d743f2eeb81939b9eaae0cf59150ed
      
https://github.com/qemu/qemu/commit/7e62ae5b18d743f2eeb81939b9eaae0cf59150ed
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M accel/tcg/translate-all.c
    M bsd-user/main.c
    M bsd-user/qemu.h
    M cpu-target.c
    M include/exec/cpu-common.h
    M include/hw/core/cpu.h
    M system/vl.c

  Log Message:
  -----------
  cpu: Remove page_size_init

Move qemu_host_page_{size,mask} and HOST_PAGE_ALIGN into bsd-user.
It should be removed from bsd-user as well, but defer that cleanup.

Reviewed-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-28-richard.henderson@linaro.org>


  Commit: 09d7c7e07d6d07744a5c2907242d41aeec30ea58
      
https://github.com/qemu/qemu/commit/09d7c7e07d6d07744a5c2907242d41aeec30ea58
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M accel/tcg/user-exec.c

  Log Message:
  -----------
  accel/tcg: Disconnect TargetPageDataNode from page size

Dynamically size the node for the runtime target page size.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-29-richard.henderson@linaro.org>


  Commit: 0e8ec13f8d9d407701bd160b4cffef36401ca08a
      
https://github.com/qemu/qemu/commit/0e8ec13f8d9d407701bd160b4cffef36401ca08a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/main.c

  Log Message:
  -----------
  linux-user: Allow TARGET_PAGE_BITS_VARY

If set, match the host and guest page sizes.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-30-richard.henderson@linaro.org>


  Commit: 08811998f48dbe1510c735d9667d48cf500b7c26
      
https://github.com/qemu/qemu/commit/08811998f48dbe1510c735d9667d48cf500b7c26
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M target/arm/cpu-param.h
    M target/arm/cpu.c

  Log Message:
  -----------
  target/arm: Enable TARGET_PAGE_BITS_VARY for AArch64 user-only

Since aarch64 binaries are generally built for multiple
page sizes, it is trivial to allow the page size to vary.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-31-richard.henderson@linaro.org>


  Commit: aa82586e8f08cd46b560ae29a0b0d0ab0cfb0180
      
https://github.com/qemu/qemu/commit/aa82586e8f08cd46b560ae29a0b0d0ab0cfb0180
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/main.c

  Log Message:
  -----------
  linux-user: Bound mmap_min_addr by host page size

Bizzarely, it is possible to set /proc/sys/vm/mmap_min_addr
to a value below the host page size.  Fix that.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-32-richard.henderson@linaro.org>


  Commit: 0a8c614da8f84e53992d5af60f9a923181c9bbe4
      
https://github.com/qemu/qemu/commit/0a8c614da8f84e53992d5af60f9a923181c9bbe4
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M target/ppc/cpu-param.h

  Log Message:
  -----------
  target/ppc: Enable TARGET_PAGE_BITS_VARY for user-only

Since ppc binaries are generally built for multiple
page sizes, it is trivial to allow the page size to vary.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-33-richard.henderson@linaro.org>


  Commit: 0c80d3e132fe751b016488124dc9c377f2f8099d
      
https://github.com/qemu/qemu/commit/0c80d3e132fe751b016488124dc9c377f2f8099d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M target/alpha/cpu-param.h

  Log Message:
  -----------
  target/alpha: Enable TARGET_PAGE_BITS_VARY for user-only

Since alpha binaries are generally built for multiple
page sizes, it is trivial to allow the page size to vary.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-34-richard.henderson@linaro.org>


  Commit: fcc6ad372f56d3f47b6d5457a904916b48b9e114
      
https://github.com/qemu/qemu/commit/fcc6ad372f56d3f47b6d5457a904916b48b9e114
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user: Remove pgb_dynamic alignment assertion

The assertion was never correct, because the alignment is a composite
of the image alignment and SHMLBA.  Even if the image alignment didn't
match the image address, an assertion would not be correct -- more
appropriate would be an error message about an ill formed image.  But
the image cannot be held to SHMLBA under any circumstances.

Fixes: ee94743034b ("linux-user: completely re-write init_guest_space")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2157
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reported-by: Alexey Sheplyakov <asheplyakov@yandex.ru>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 17ff079b4b6f66cf0e4114d419ae1b665c57cf97
      
https://github.com/qemu/qemu/commit/17ff079b4b6f66cf0e4114d419ae1b665c57cf97
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M .gitlab-ci.d/container-cross.yml
    M .gitlab-ci.d/crossbuilds.yml
    M .gitlab-ci.d/windows.yml
    M docs/about/build-platforms.rst
    M docs/about/removed-features.rst
    M meson.build
    M target/i386/cpu.c
    M target/m68k/cpu.c
    M target/m68k/cpu.h
    M target/m68k/op_helper.c
    M target/ppc/kvm.c
    R tests/docker/dockerfiles/fedora-win32-cross.docker
    M tests/lcitool/refresh
    M tests/qtest/boot-serial-test.c
    M tests/qtest/cdrom-test.c
    M tests/qtest/dbus-display-test.c

  Log Message:
  -----------
  Merge tag 'pull-request-2024-02-23' of https://gitlab.com/thuth/qemu into 
staging

* m68k: Fix exception frame format for 68010
* Add cdrom test for LoongArch virt machine
* Fix qtests when using --without-default-devices
* Enable -Wvla
* Windows 32-bit removal
* Silence warnings in the test-x86-cpuid-compat qtest

# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmXY7MMRHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbWkRg//TCprQ7Gesex/yvMFIZuZk+poEaibxGXU
# cWp6hneV8selTzBKzBC3VS1n31shd9astNRE95N2fSIfCV6R22y2tfZF2rSOoeog
# bvqX7KoaEnSsrDS054EGAnuvYQpOGLGth/3Mc9Z791r5I1tYZPJocVnAyi/OB+3q
# Gr5WzXj6Z/QD7c0f6vZ943wRBO/zc1729KikDUSyfS3Tua+15mAuUIUQdlLNNPct
# 6aT5e6c967mAYh93AUevd3hgVYXH2W4fH7s1q2pap2hMBw2a43XvlMKJ9CvXPFPg
# eU6knRPES16BSC2TTphNCBQi9n3rQdion01VsoQEetVBfFa4yA1Ys7ofF5vCa2l8
# 5EO5X3VQfZeq0ktmrLM7qAO0OMnolIqbeNS97ggOiyL0Q3YXim6cNWf8+OZbGoFR
# OK88ndmzEXrZq+5w4QBDGLHFU3u8ZeWAM6p7Ht/ZN89ndDYT5bGBwkjVRW5hVgck
# fmGhgutSqP2/DN5/4nMn8jtmGc65H/rBRilttW8W2JF72rQJYduDnx/A4KUatkHT
# tC58NwLarF3kF7cebhWvNQDD74ia/35n+fEAmtIHF42YHE6aifss91QrgT+qGG5+
# GG12JIoFVDCgE1pkNU7GO53Uqo94Ej8TUOxwF9QfftxnqiktMG7Y/KQRcSA5VvHr
# laagGgDzHP0=
# =1hu9
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 23 Feb 2024 19:06:43 GMT
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* tag 'pull-request-2024-02-23' of https://gitlab.com/thuth/qemu:
  target/i386: do not filter processor tracing features except on KVM
  .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction
  .gitlab-ci.d: Drop cross-win32-system job
  docs: Document that 32-bit Windows is unsupported
  meson: Enable -Wvla
  target/ppc/kvm: Replace variable length array in kvmppc_read_hptes()
  target/ppc/kvm: Replace variable length array in kvmppc_save_htab()
  tests: skip dbus-display tests that need a console
  tests/qtest: Fix boot-serial-test when using --without-default-devices
  tests/cdrom-test: Add cdrom test for LoongArch virt machine
  target/m68k: Fix exception frame format for 68010

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


  Commit: f04457a557ffa07cafbfd7239a64f2242d4fe767
      
https://github.com/qemu/qemu/commit/f04457a557ffa07cafbfd7239a64f2242d4fe767
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M accel/tcg/cputlb.c
    M accel/tcg/translate-all.c
    M accel/tcg/user-exec.c
    M bsd-user/main.c
    M bsd-user/qemu.h
    M cpu-target.c
    M docs/about/deprecated.rst
    M docs/user/main.rst
    M hw/tpm/tpm_ppi.c
    M include/exec/cpu-common.h
    M include/hw/core/cpu.h
    M linux-user/elfload.c
    M linux-user/main.c
    M linux-user/mmap.c
    M migration/ram.c
    M system/physmem.c
    M system/vl.c
    M target/alpha/cpu-param.h
    M target/arm/cpu-param.h
    M target/arm/cpu.c
    M target/ppc/cpu-param.h
    M tcg/aarch64/tcg-target.h
    M tests/tcg/alpha/Makefile.target
    M tests/tcg/arm/Makefile.target
    M tests/tcg/hppa/Makefile.target
    M tests/tcg/i386/Makefile.target
    M tests/tcg/m68k/Makefile.target
    M tests/tcg/multiarch/Makefile.target
    M tests/tcg/multiarch/linux/linux-madvise.c
    R tests/tcg/ppc/Makefile.target
    M tests/tcg/sh4/Makefile.target
    R tests/tcg/sparc64/Makefile.target

  Log Message:
  -----------
  Merge tag 'pull-tcg-20240222-2' of https://gitlab.com/rth7680/qemu into 
staging

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

# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmXZQGAdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV+4XggAlAHyUmtdLCBte0hW
# 3APg+FT4K0a7/dp/G6EoHjl+EtUi+qgozEkAcH2E2tmkcGHKMWALaCZeLGkv/F+m
# UxCXiBSj72FqyEVQTsZZicT2ql/fbMA1KGEB8TQfTV4QP4P9seq6ui5Mx3jRJPiO
# pMSUKKjJHv+7MA6qhbTi64xpEvrS4Nar8Pvhz2RKGv6LBGKV4NLPO8MA0YMtSXo9
# TWnhfGs4qyPzGI4ACjGY/kI0V3OLoTlbRY56x3n6S/oh+ocssNpH+W/FFvxhdLGx
# 5TCRuzGblfuoycrIT7HlDqFOSbcwF6rzRDnT2uIKAq63auu2Y2SH6M8E83MArA6z
# ASjc4w==
# =MDHE
# -----END PGP SIGNATURE-----
# gpg: Signature made Sat 24 Feb 2024 01:03:28 GMT
# 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

* tag 'pull-tcg-20240222-2' of https://gitlab.com/rth7680/qemu: (39 commits)
  linux-user: Remove pgb_dynamic alignment assertion
  target/alpha: Enable TARGET_PAGE_BITS_VARY for user-only
  target/ppc: Enable TARGET_PAGE_BITS_VARY for user-only
  linux-user: Bound mmap_min_addr by host page size
  target/arm: Enable TARGET_PAGE_BITS_VARY for AArch64 user-only
  linux-user: Allow TARGET_PAGE_BITS_VARY
  accel/tcg: Disconnect TargetPageDataNode from page size
  cpu: Remove page_size_init
  *-user: Deprecate and disable -p pagesize
  tests/tcg: Extend file in linux-madvise.c
  tests/tcg: Remove run-test-mmap-*
  linux-user: Split out mmap_h_gt_g
  linux-user: Split out mmap_h_lt_g
  linux-user: Split out mmap_h_eq_g
  linux-user: Use do_munmap for target_mmap failure
  linux-user: Split out do_munmap
  linux-user: Do early mmap placement only for reserved_va
  linux-user: Split out mmap_end
  linux-user: Fix sub-host-page mmap
  linux-user: Move some mmap checks outside the lock
  ...

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


Compare: https://github.com/qemu/qemu/compare/91e3bf2e9256...f04457a557ff

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



reply via email to

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