From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: qemu-devel@nongnu.org, "Thomas Huth" <thuth@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PULL 8/9] meson: Disallow 64-bit on 32-bit emulation
Date: Fri, 11 Apr 2025 14:42:53 +0100 [thread overview]
Message-ID: <Z_kcXeS8qSDa0I8_@redhat.com> (raw)
In-Reply-To: <20250208205725.568631-9-richard.henderson@linaro.org>
On Sat, Feb 08, 2025 at 12:57:23PM -0800, Richard Henderson wrote:
> For system mode, we can rarely support the amount of RAM that
> the guest requires. TCG emulation is restricted to round-robin
> mode, which solves many of the atomicity issues, but not those
> associated with virtio. In any case, round-robin does nothing
> to help the speed of emulation.
>
> For user mode, most emulation does not succeed at all. Most
> of the time we cannot even load 64-bit non-PIE binaries due
> to lack of a 64-bit address space. Threads are run in
> parallel, not round-robin, which means that atomicity
> is not handled.
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> meson.build | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
Shouldn't this patch and the earlier ones in this series have
added something to removed-features.rst, as this is a significant
feature removal which is impacting downstream users, and distros
in particular.
>
> diff --git a/meson.build b/meson.build
> index 85317cd63f..ec51827f40 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -3185,6 +3185,9 @@ if host_os == 'windows'
> endif
> endif
>
> +# Detect host pointer size for the target configuration loop.
> +host_long_bits = cc.sizeof('void *') * 8
> +
> ########################
> # Target configuration #
> ########################
> @@ -3277,8 +3280,14 @@ foreach target : target_dirs
> }
> endif
>
> + config_target += keyval.load('configs/targets' / target + '.mak')
> +
> target_kconfig = []
> foreach sym: accelerators
> + # Disallow 64-bit on 32-bit emulation and virtualization
> + if host_long_bits < config_target['TARGET_LONG_BITS'].to_int()
> + continue
> + endif
> if sym == 'CONFIG_TCG' or target in accelerator_targets.get(sym, [])
> config_target += { sym: 'y' }
> config_all_accel += { sym: 'y' }
> @@ -3292,9 +3301,6 @@ foreach target : target_dirs
> error('No accelerator available for target @0@'.format(target))
> endif
>
> - config_target += keyval.load('configs/targets' / target + '.mak')
> - config_target += { 'TARGET_' + config_target['TARGET_ARCH'].to_upper(): 'y' }
> -
> if 'TARGET_NEED_FDT' in config_target and not fdt.found()
> if default_targets
> warning('Disabling ' + target + ' due to missing libfdt')
> @@ -3307,6 +3313,7 @@ foreach target : target_dirs
> actual_target_dirs += target
>
> # Add default keys
> + config_target += { 'TARGET_' + config_target['TARGET_ARCH'].to_upper(): 'y' }
> if 'TARGET_BASE_ARCH' not in config_target
> config_target += {'TARGET_BASE_ARCH': config_target['TARGET_ARCH']}
> endif
> --
> 2.43.0
>
>
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2025-04-11 13:43 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-08 20:57 [PULL 0/9] meson: Disallow 64-bit on 32-bit emulation Richard Henderson
2025-02-08 20:57 ` [PULL 1/9] meson: Drop tcg as a module Richard Henderson
2025-02-08 20:57 ` [PULL 2/9] meson: Disallow 64-bit on 32-bit KVM emulation Richard Henderson
2025-02-08 20:57 ` [PULL 3/9] meson: Disallow 64-bit on 32-bit Xen emulation Richard Henderson
2025-02-18 11:20 ` Philippe Mathieu-Daudé
2025-02-18 13:19 ` Philippe Mathieu-Daudé
2025-02-18 13:20 ` Philippe Mathieu-Daudé
2025-02-18 14:10 ` Andrew Cooper
2025-02-18 15:25 ` Philippe Mathieu-Daudé
2025-02-18 15:41 ` Philippe Mathieu-Daudé
2025-02-18 19:30 ` Stefano Stabellini
2025-02-08 20:57 ` [PULL 4/9] meson: Disallow 64-bit on 32-bit HVF/NVMM/WHPX emulation Richard Henderson
2025-02-08 20:57 ` [PULL 5/9] gitlab-ci: Replace aarch64 with arm in cross-i686-tci build Richard Henderson
2025-02-08 20:57 ` [PULL 6/9] configure: Define TARGET_LONG_BITS in configs/targets/*.mak Richard Henderson
2025-02-08 20:57 ` [PULL 7/9] target/*: Remove TARGET_LONG_BITS from cpu-param.h Richard Henderson
2025-02-08 20:57 ` [PULL 8/9] meson: Disallow 64-bit on 32-bit emulation Richard Henderson
2025-04-11 13:42 ` Daniel P. Berrangé [this message]
2025-04-11 15:05 ` Philippe Mathieu-Daudé
2025-04-11 15:08 ` Daniel P. Berrangé
2025-04-11 18:18 ` Stefan Hajnoczi
2025-02-08 20:57 ` [PULL 9/9] meson: Deprecate 32-bit host support Richard Henderson
2025-02-10 18:21 ` [PULL 0/9] meson: Disallow 64-bit on 32-bit emulation Stefan Hajnoczi
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=Z_kcXeS8qSDa0I8_@redhat.com \
--to=berrange@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.