@@ -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);
@@ -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;
@@ -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,
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. Signed-off-by: Thomas Huth <thuth@redhat.com> --- include/hw/s390x/s390-virtio-ccw.h | 3 --- hw/s390x/s390-virtio-ccw.c | 9 +-------- target/s390x/kvm/kvm.c | 10 ++-------- 3 files changed, 3 insertions(+), 19 deletions(-)