hw/s390x: Remove the cpu_model_allowed flag and related code

Now that the last machine type that disabled cpu_model_allowed has
been removed, we can also remove the cpu_model_allowed flag itself
and all the related conditional code.

Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Message-ID: <20250103144232.520383-9-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Thomas Huth 2025-01-03 15:42:30 +01:00
parent 3199c7ee76
commit fd58c03a0e
3 changed files with 3 additions and 19 deletions

View File

@ -727,8 +727,7 @@ static S390CcwMachineClass *current_mc;
*
* 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 cpu_model_allowed() during CPU initialization and
* s390_has_feat() later should be sufficient.
* i.e. checking with s390_has_feat() should be sufficient.
*/
static S390CcwMachineClass *get_machine_class(void)
{
@ -744,11 +743,6 @@ static S390CcwMachineClass *get_machine_class(void)
return current_mc;
}
bool cpu_model_allowed(void)
{
return get_machine_class()->cpu_model_allowed;
}
bool hpage_1m_allowed(void)
{
return get_machine_class()->hpage_1m_allowed;
@ -786,7 +780,6 @@ static void ccw_machine_class_init(ObjectClass *oc, void *data)
HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(oc);
S390CcwMachineClass *s390mc = S390_CCW_MACHINE_CLASS(mc);
s390mc->cpu_model_allowed = true;
s390mc->hpage_1m_allowed = true;
s390mc->max_threads = 1;
mc->init = ccw_init;

View File

@ -53,13 +53,10 @@ struct S390CcwMachineClass {
MachineClass parent_class;
/*< public >*/
bool cpu_model_allowed;
bool hpage_1m_allowed;
int max_threads;
};
/* cpu model allowed by the machine */
bool cpu_model_allowed(void);
/* 1M huge page mappings allowed by the machine */
bool hpage_1m_allowed(void);

View File

@ -374,12 +374,10 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
kvm_vm_enable_cap(s, KVM_CAP_S390_VECTOR_REGISTERS, 0);
kvm_vm_enable_cap(s, KVM_CAP_S390_USER_STSI, 0);
kvm_vm_enable_cap(s, KVM_CAP_S390_CPU_TOPOLOGY, 0);
kvm_vm_enable_cap(s, KVM_CAP_S390_GS, 0);
if (kvm_vm_enable_cap(s, KVM_CAP_S390_RI, 0) == 0) {
cap_ri = 1;
}
if (cpu_model_allowed()) {
kvm_vm_enable_cap(s, KVM_CAP_S390_GS, 0);
}
/*
* The migration interface for ais was introduced with kernel 4.13
@ -387,7 +385,7 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
* support is considered necessary, we only try to enable this for
* newer machine types if KVM_CAP_S390_AIS_MIGRATION is available.
*/
if (cpu_model_allowed() && kvm_kernel_irqchip_allowed() &&
if (kvm_kernel_irqchip_allowed() &&
kvm_check_extension(s, KVM_CAP_S390_AIS_MIGRATION)) {
kvm_vm_enable_cap(s, KVM_CAP_S390_AIS, 0);
}
@ -2352,10 +2350,6 @@ static int configure_cpu_feat(const S390FeatBitmap features)
bool kvm_s390_cpu_models_supported(void)
{
if (!cpu_model_allowed()) {
/* compatibility machines interfere with the cpu model */
return false;
}
return kvm_vm_check_attr(kvm_state, KVM_S390_VM_CPU_MODEL,
KVM_S390_VM_CPU_MACHINE) &&
kvm_vm_check_attr(kvm_state, KVM_S390_VM_CPU_MODEL,