[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode
From: |
Christian Borntraeger |
Subject: |
Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode |
Date: |
Fri, 20 Oct 2017 16:02:49 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 |
On 10/20/2017 03:51 PM, David Hildenbrand wrote:
[...]
>> The problem goes much further.
>> A fresh guest with
>>
>> <os>
>> <type arch='s390x' machine='s390-ccw-virtio-2.9'>hvm</type>
>> </os>
>> <cpu mode='host-model'/>
>>
>> does not start. No migration from an older system is necessary.
>>
>
> Yes, as stated in the documentation "copying host CPU definition from
> capabilities XML" this can not work. And it works just as documented.
> Not saying this is a nice thing :)
>
> I think we should try to fix gs_allowed (if possible) and avoid
> something like that in the future. This would avoid other complexity
> involved when suddenly having X host models.
Maybe this one is really a proper fix. It will allow the guest to start
and on migration the cpu model will complain if the target cannot provide gs.
Similar things can happen if - for example - the host kernel lacks some
features.
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 77169bb..97a08fa 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -430,7 +430,6 @@ static void ccw_machine_class_init(ObjectClass *oc, void
*data)
s390mc->ri_allowed = true;
s390mc->cpu_model_allowed = true;
s390mc->css_migration_enabled = true;
- s390mc->gs_allowed = true;
mc->init = ccw_init;
mc->reset = s390_machine_reset;
mc->hot_add_cpu = s390_hot_add_cpu;
@@ -509,12 +508,6 @@ bool cpu_model_allowed(void)
return get_machine_class()->cpu_model_allowed;
}
-bool gs_allowed(void)
-{
- /* for "none" machine this results in true */
- return get_machine_class()->gs_allowed;
-}
-
static char *machine_get_loadparm(Object *obj, Error **errp)
{
S390CcwMachineState *ms = S390_CCW_MACHINE(obj);
@@ -757,7 +750,6 @@ static void ccw_machine_2_9_class_options(MachineClass *mc)
{
S390CcwMachineClass *s390mc = S390_MACHINE_CLASS(mc);
- s390mc->gs_allowed = false;
ccw_machine_2_10_class_options(mc);
SET_MACHINE_COMPAT(mc, CCW_COMPAT_2_9);
s390mc->css_migration_enabled = false;
diff --git a/include/hw/s390x/s390-virtio-ccw.h
b/include/hw/s390x/s390-virtio-ccw.h
index a9a90c2..1de53b0 100644
--- a/include/hw/s390x/s390-virtio-ccw.h
+++ b/include/hw/s390x/s390-virtio-ccw.h
@@ -40,7 +40,6 @@ typedef struct S390CcwMachineClass {
bool ri_allowed;
bool cpu_model_allowed;
bool css_migration_enabled;
- bool gs_allowed;
} S390CcwMachineClass;
/* runtime-instrumentation allowed by the machine */
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index a0d5052..3f13fc2 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -362,7 +362,7 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
cap_ri = 1;
}
}
- if (gs_allowed()) {
+ if (cpu_model_allowed()) {
if (kvm_vm_enable_cap(s, KVM_CAP_S390_GS, 0) == 0) {
cap_gs = 1;
}
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, Marc Hartmayer, 2017/10/20
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, David Hildenbrand, 2017/10/20
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, Jiri Denemark, 2017/10/20
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, David Hildenbrand, 2017/10/20
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, Christian Borntraeger, 2017/10/20
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, David Hildenbrand, 2017/10/20
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, Christian Borntraeger, 2017/10/20
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, David Hildenbrand, 2017/10/20
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode,
Christian Borntraeger <=
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, David Hildenbrand, 2017/10/20
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, Christian Borntraeger, 2017/10/20
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, Halil Pasic, 2017/10/20
- Re: [Qemu-devel] [libvirt] Question about the host-model CPU mode, David Hildenbrand, 2017/10/20