qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: Michael Tokarev <mjt@tls.msk.ru>, qemu-devel@nongnu.org
Cc: Ilya Leoshkevich <iii@linux.ibm.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>,
	Helge Deller <deller@gmx.de>
Subject: Re: [PATCH v4 04/36] linux-user: Remove qemu_host_page_size from create_elf_tables
Date: Tue, 9 Sep 2025 07:58:01 +0000	[thread overview]
Message-ID: <14dfdfc5-c56b-4f1a-b83b-836fe43ec15b@linaro.org> (raw)
In-Reply-To: <56a7b332-e848-4e58-ac06-9da6b56ffa5d@tls.msk.ru>

On 9/9/25 07:36, Michael Tokarev wrote:
> On 15.02.2024 09:19, Richard Henderson wrote:
>> 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.
> 
> Hi!
> 
> This change broke execution of armhf binaries on 16k-pagesized
> aarch64 host.  See https://bugs.debian.org/1114725 for a few more
> details and the reproducer.
> 
>  From the commit message this seems to be intentional to remove
> such support.  But is it really intentional that it doesn't work
> anymore?  Should the mentioned adjustments to TARGET_PAGE_SIZE
> compensate for this change?

We have only trivial support for host page size != guest page size.
Any time it does work is purely by accident.

Older systems like arm32 and i386 are more likely to fail than others, due to program layout.

The only reliable solution is to use softmmu with linux-user in these cases, so that host 
and guest page size, memory layout, etc are properly disconnected.  This is a significant 
amount of work which no one has volunteered to do.


r~


  reply	other threads:[~2025-09-09  7:59 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-15  6:19 [PATCH v4 00/36] linux-user: Improve host and guest page size handling Richard Henderson
2024-02-15  6:19 ` [PATCH v4 01/36] accel/tcg: Remove qemu_host_page_size from page_protect/page_unprotect Richard Henderson
2024-02-15  6:19 ` [PATCH v4 02/36] linux-user: Adjust SVr4 NULL page mapping Richard Henderson
2024-02-16 11:35   ` Alex Bennée
2024-02-21  2:07     ` Richard Henderson
2024-02-21 17:49       ` Alex Bennée
2024-02-15  6:19 ` [PATCH v4 03/36] linux-user: Remove qemu_host_page_{size, mask} in probe_guest_base Richard Henderson
2024-02-15  6:19 ` [PATCH v4 04/36] linux-user: Remove qemu_host_page_size from create_elf_tables Richard Henderson
2025-09-09  7:36   ` Michael Tokarev
2025-09-09  7:58     ` Richard Henderson [this message]
2024-02-15  6:19 ` [PATCH v4 05/36] linux-user/hppa: Simplify init_guest_commpage Richard Henderson
2024-02-15  6:19 ` [PATCH v4 06/36] linux-user/nios2: Remove qemu_host_page_size from init_guest_commpage Richard Henderson
2024-02-15  6:19 ` [PATCH v4 07/36] linux-user/arm: " Richard Henderson
2024-02-15  6:19 ` [PATCH v4 08/36] linux-user: Remove qemu_host_page_{size, mask} from mmap.c Richard Henderson
2024-02-15  6:19 ` [PATCH v4 09/36] linux-user: Remove REAL_HOST_PAGE_ALIGN " Richard Henderson
2024-02-15  6:19 ` [PATCH v4 10/36] linux-user: Remove HOST_PAGE_ALIGN " Richard Henderson
2024-02-15  6:19 ` [PATCH v4 11/36] migration: Remove qemu_host_page_size Richard Henderson
2024-02-15  6:19 ` [PATCH v4 12/36] hw/tpm: Remove HOST_PAGE_ALIGN from tpm_ppi_init Richard Henderson
2024-02-15  6:19 ` [PATCH v4 13/36] softmmu/physmem: Remove qemu_host_page_size Richard Henderson
2024-02-15  6:19 ` [PATCH v4 14/36] softmmu/physmem: Remove HOST_PAGE_ALIGN Richard Henderson
2024-02-15  6:19 ` [PATCH v4 15/36] linux-user: Remove qemu_host_page_size from main Richard Henderson
2024-02-15  6:19 ` [PATCH v4 16/36] linux-user: Split out target_mmap__locked Richard Henderson
2024-02-15  6:19 ` [PATCH v4 17/36] linux-user: Move some mmap checks outside the lock Richard Henderson
2024-02-15  6:20 ` [PATCH v4 18/36] linux-user: Fix sub-host-page mmap Richard Henderson
2024-02-15  6:20 ` [PATCH v4 19/36] linux-user: Split out mmap_end Richard Henderson
2024-02-15  6:20 ` [PATCH v4 20/36] linux-user: Do early mmap placement only for reserved_va Richard Henderson
2024-02-15  6:20 ` [PATCH v4 21/36] linux-user: Split out do_munmap Richard Henderson
2024-02-15  7:04   ` Philippe Mathieu-Daudé
2024-02-15  6:20 ` [PATCH v4 22/36] linux-user: Use do_munmap for target_mmap failure Richard Henderson
2024-02-15  7:05   ` Philippe Mathieu-Daudé
2024-02-15  6:20 ` [PATCH v4 23/36] linux-user: Split out mmap_h_eq_g Richard Henderson
2024-02-15  6:20 ` [PATCH v4 24/36] linux-user: Split out mmap_h_lt_g Richard Henderson
2024-02-15  6:20 ` [PATCH v4 25/36] linux-user: Split out mmap_h_gt_g Richard Henderson
2024-02-15  6:20 ` [PATCH v4 26/36] tests/tcg: Remove run-test-mmap-* Richard Henderson
2024-02-15  6:20 ` [PATCH v4 27/36] tests/tcg: Extend file in linux-madvise.c Richard Henderson
2024-02-15  6:20 ` [PATCH v4 28/36] *-user: Deprecate and disable -p pagesize Richard Henderson
2024-02-15  6:20 ` [PATCH v4 29/36] cpu: Remove page_size_init Richard Henderson
2024-02-15  6:20 ` [PATCH v4 30/36] accel/tcg: Disconnect TargetPageDataNode from page size Richard Henderson
2024-02-15  6:20 ` [PATCH v4 31/36] linux-user: Allow TARGET_PAGE_BITS_VARY Richard Henderson
2024-02-15  6:20 ` [PATCH v4 32/36] target/arm: Enable TARGET_PAGE_BITS_VARY for AArch64 user-only Richard Henderson
2024-02-15  6:20 ` [PATCH v4 33/36] linux-user: Bound mmap_min_addr by host page size Richard Henderson
2024-02-15  6:20 ` [PATCH v4 34/36] target/ppc: Enable TARGET_PAGE_BITS_VARY for user-only Richard Henderson
2024-02-15  6:20 ` [PATCH v4 35/36] target/alpha: " Richard Henderson
2024-02-15  6:20 ` [PATCH v4 36/36] linux-user: Remove pgb_dynamic alignment assertion Richard Henderson
2024-02-15  7:07   ` Philippe Mathieu-Daudé
2024-02-15  7:23     ` Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=14dfdfc5-c56b-4f1a-b83b-836fe43ec15b@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=deller@gmx.de \
    --cc=iii@linux.ibm.com \
    --cc=mjt@tls.msk.ru \
    --cc=pierrick.bouvier@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).