From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Stefan Hajnoczi" <stefanha@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Eric Farman" <farman@linux.ibm.com>
Subject: [PULL 07/13] hw/s390x: Remove the obsolete hpage_1m_allowed switch
Date: Wed, 14 May 2025 13:27:27 +0200 [thread overview]
Message-ID: <20250514112733.456644-8-thuth@redhat.com> (raw)
In-Reply-To: <20250514112733.456644-1-thuth@redhat.com>
From: Thomas Huth <thuth@redhat.com>
The s390-ccw-virtio-3.0 machine was the last one that used the
hpage_1m_allowed switch. Since we removed this machine type, we
can now remove the switch and the related code, too. This allows
us to get rid of the get_machine_class() hack and the big fat
warning comment there.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250506062148.306084-8-thuth@redhat.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
include/hw/s390x/s390-virtio-ccw.h | 4 ----
hw/s390x/s390-virtio-ccw.c | 35 ------------------------------
target/s390x/kvm/kvm.c | 6 -----
3 files changed, 45 deletions(-)
diff --git a/include/hw/s390x/s390-virtio-ccw.h b/include/hw/s390x/s390-virtio-ccw.h
index 686d9497d20..321b26df308 100644
--- a/include/hw/s390x/s390-virtio-ccw.h
+++ b/include/hw/s390x/s390-virtio-ccw.h
@@ -53,11 +53,7 @@ struct S390CcwMachineClass {
MachineClass parent_class;
/*< public >*/
- bool hpage_1m_allowed;
int max_threads;
};
-/* 1M huge page mappings allowed by the machine */
-bool hpage_1m_allowed(void);
-
#endif
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index bec4690e857..b013bcd076a 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -748,39 +748,6 @@ static inline void machine_set_dea_key_wrap(Object *obj, bool value,
ms->dea_key_wrap = value;
}
-static S390CcwMachineClass *current_mc;
-
-/*
- * Get the class of the s390-ccw-virtio machine that is currently in use.
- * Note: libvirt is using the "none" machine to probe for the features of the
- * host CPU, so in case this is called with the "none" machine, the function
- * returns the TYPE_S390_CCW_MACHINE base class. In this base class, all the
- * various "*_allowed" variables are enabled, so that the *_allowed() wrappers
- * below return the correct default value for the "none" machine.
- *
- * Attention! Do *not* add additional new wrappers for CPU features via this
- * mechanism anymore. CPU features should be handled via the CPU models,
- * i.e. checking with s390_has_feat() should be sufficient.
- */
-static S390CcwMachineClass *get_machine_class(void)
-{
- if (unlikely(!current_mc)) {
- /*
- * No s390 ccw machine was instantiated, we are likely to
- * be called for the 'none' machine. The properties will
- * have their after-initialization values.
- */
- current_mc = S390_CCW_MACHINE_CLASS(
- object_class_by_name(TYPE_S390_CCW_MACHINE));
- }
- return current_mc;
-}
-
-bool hpage_1m_allowed(void)
-{
- return get_machine_class()->hpage_1m_allowed;
-}
-
static void machine_get_loadparm(Object *obj, Visitor *v,
const char *name, void *opaque,
Error **errp)
@@ -814,7 +781,6 @@ static void ccw_machine_class_init(ObjectClass *oc, const void *data)
S390CcwMachineClass *s390mc = S390_CCW_MACHINE_CLASS(mc);
DumpSKeysInterface *dsi = DUMP_SKEYS_INTERFACE_CLASS(oc);
- s390mc->hpage_1m_allowed = true;
s390mc->max_threads = 1;
mc->reset = s390_machine_reset;
mc->block_default_type = IF_VIRTIO;
@@ -888,7 +854,6 @@ static const TypeInfo ccw_machine_info = {
#define DEFINE_CCW_MACHINE_IMPL(latest, ...) \
static void MACHINE_VER_SYM(mach_init, ccw, __VA_ARGS__)(MachineState *mach) \
{ \
- current_mc = S390_CCW_MACHINE_CLASS(MACHINE_GET_CLASS(mach)); \
MACHINE_VER_SYM(instance_options, ccw, __VA_ARGS__)(mach); \
ccw_init(mach); \
} \
diff --git a/target/s390x/kvm/kvm.c b/target/s390x/kvm/kvm.c
index b9f14221976..6cd2ebc5f1f 100644
--- a/target/s390x/kvm/kvm.c
+++ b/target/s390x/kvm/kvm.c
@@ -298,12 +298,6 @@ void kvm_s390_set_max_pagesize(uint64_t pagesize, Error **errp)
return;
}
- if (!hpage_1m_allowed()) {
- error_setg(errp, "This QEMU machine does not support huge page "
- "mappings");
- return;
- }
-
if (pagesize != 1 * MiB) {
error_setg(errp, "Memory backing with 2G pages was specified, "
"but KVM does not support this memory backing");
--
2.49.0
next prev parent reply other threads:[~2025-05-14 11:29 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-14 11:27 [PULL 00/13] s390x obsolete machine removal & misc fixes Thomas Huth
2025-05-14 11:27 ` [PULL 01/13] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 machine type Thomas Huth
2025-05-14 11:27 ` [PULL 02/13] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.11 " Thomas Huth
2025-05-14 11:27 ` [PULL 03/13] hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code Thomas Huth
2025-05-14 11:27 ` [PULL 04/13] target/s390x: Rename the qemu_V2_11 feature set to qemu_MIN Thomas Huth
2025-05-14 11:27 ` [PULL 05/13] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type Thomas Huth
2025-05-14 11:27 ` [PULL 06/13] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.0 " Thomas Huth
2025-05-14 11:27 ` Thomas Huth [this message]
2025-05-14 11:27 ` [PULL 08/13] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.1 " Thomas Huth
2025-05-14 11:27 ` [PULL 09/13] hw/s390x/s390-virtio-ccw: Remove the deprecated 4.0 " Thomas Huth
2025-05-14 11:27 ` [PULL 10/13] s390x: Fix leak in machine_set_loadparm Thomas Huth
2025-05-14 11:27 ` [PULL 11/13] include/hw/dma/xlnx_dpdma: Remove dependency on console.h Thomas Huth
2025-05-14 11:27 ` [PULL 12/13] tests/functional/test_s390x_tuxrun: Check whether the machine is available Thomas Huth
2025-05-14 11:27 ` [PULL 13/13] tests/functional: Skip the screendump tests if the command is not available Thomas Huth
2025-05-15 21:52 ` [PULL 00/13] s390x obsolete machine removal & misc fixes 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=20250514112733.456644-8-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=farman@linux.ibm.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@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.