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:
parent
3199c7ee76
commit
fd58c03a0e
@ -727,8 +727,7 @@ static S390CcwMachineClass *current_mc;
|
|||||||
*
|
*
|
||||||
* Attention! Do *not* add additional new wrappers for CPU features via this
|
* Attention! Do *not* add additional new wrappers for CPU features via this
|
||||||
* mechanism anymore. CPU features should be handled via the CPU models,
|
* mechanism anymore. CPU features should be handled via the CPU models,
|
||||||
* i.e. checking with cpu_model_allowed() during CPU initialization and
|
* i.e. checking with s390_has_feat() should be sufficient.
|
||||||
* s390_has_feat() later should be sufficient.
|
|
||||||
*/
|
*/
|
||||||
static S390CcwMachineClass *get_machine_class(void)
|
static S390CcwMachineClass *get_machine_class(void)
|
||||||
{
|
{
|
||||||
@ -744,11 +743,6 @@ static S390CcwMachineClass *get_machine_class(void)
|
|||||||
return current_mc;
|
return current_mc;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cpu_model_allowed(void)
|
|
||||||
{
|
|
||||||
return get_machine_class()->cpu_model_allowed;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool hpage_1m_allowed(void)
|
bool hpage_1m_allowed(void)
|
||||||
{
|
{
|
||||||
return get_machine_class()->hpage_1m_allowed;
|
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);
|
HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(oc);
|
||||||
S390CcwMachineClass *s390mc = S390_CCW_MACHINE_CLASS(mc);
|
S390CcwMachineClass *s390mc = S390_CCW_MACHINE_CLASS(mc);
|
||||||
|
|
||||||
s390mc->cpu_model_allowed = true;
|
|
||||||
s390mc->hpage_1m_allowed = true;
|
s390mc->hpage_1m_allowed = true;
|
||||||
s390mc->max_threads = 1;
|
s390mc->max_threads = 1;
|
||||||
mc->init = ccw_init;
|
mc->init = ccw_init;
|
||||||
|
@ -53,13 +53,10 @@ struct S390CcwMachineClass {
|
|||||||
MachineClass parent_class;
|
MachineClass parent_class;
|
||||||
|
|
||||||
/*< public >*/
|
/*< public >*/
|
||||||
bool cpu_model_allowed;
|
|
||||||
bool hpage_1m_allowed;
|
bool hpage_1m_allowed;
|
||||||
int max_threads;
|
int max_threads;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* cpu model allowed by the machine */
|
|
||||||
bool cpu_model_allowed(void);
|
|
||||||
/* 1M huge page mappings allowed by the machine */
|
/* 1M huge page mappings allowed by the machine */
|
||||||
bool hpage_1m_allowed(void);
|
bool hpage_1m_allowed(void);
|
||||||
|
|
||||||
|
@ -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_VECTOR_REGISTERS, 0);
|
||||||
kvm_vm_enable_cap(s, KVM_CAP_S390_USER_STSI, 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_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) {
|
if (kvm_vm_enable_cap(s, KVM_CAP_S390_RI, 0) == 0) {
|
||||||
cap_ri = 1;
|
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
|
* 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
|
* support is considered necessary, we only try to enable this for
|
||||||
* newer machine types if KVM_CAP_S390_AIS_MIGRATION is available.
|
* 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_check_extension(s, KVM_CAP_S390_AIS_MIGRATION)) {
|
||||||
kvm_vm_enable_cap(s, KVM_CAP_S390_AIS, 0);
|
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)
|
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,
|
return kvm_vm_check_attr(kvm_state, KVM_S390_VM_CPU_MODEL,
|
||||||
KVM_S390_VM_CPU_MACHINE) &&
|
KVM_S390_VM_CPU_MACHINE) &&
|
||||||
kvm_vm_check_attr(kvm_state, KVM_S390_VM_CPU_MODEL,
|
kvm_vm_check_attr(kvm_state, KVM_S390_VM_CPU_MODEL,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user