[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and
From: |
Christian Borntraeger |
Subject: |
Re: [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities |
Date: |
Thu, 13 Jul 2017 14:29:55 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 |
On 07/13/2017 02:11 PM, Cornelia Huck wrote:
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
>> index 78ebe83..1901153 100644
>> --- a/target/s390x/kvm.c
>> +++ b/target/s390x/kvm.c
>> @@ -302,6 +302,9 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
>> }
>> }
>>
>> + /* Try to enable AIS facility */
>> + kvm_vm_enable_cap(s, KVM_CAP_S390_AIS, 0);
>
> What happens if you fail to enable it? You probably don't want to allow
> the feature bit, then?
Then this bit is off. This call will enable it in the kernel, if that fails
the kernel will return this bit as disabled.
>
>> +
>> qemu_mutex_init(&qemu_sigp_mutex);
>>
>> return 0;
>
> Let's summarize to make sure that I'm not confused:
>
> - Starting with zEC12 GA1, we provide zpci, aen, ais in the full model
yes
> - Starting with zEC12 GA1, we provide zpci and aen in the default model
yes. ais has to be enabled manually for z12 and z13.
The alternative is to have ais as part of the default model. This has the big
disadvantage that -cpu zEC12 and -cpu z13 will stop working for all available
distro kernels. I believe that a working -cpu z13 is more important than the
need to manually enable ais.
For the future
- We can make ais part of the default model for a future system when that
happens since
the features for a new system will require a new host kernel anyway
- We can also make ais part of the default model for a future machine type
(e.g. 2.13)
when we believe that the world has moved on to a newer kernel
> - In the host model, we add zpci and aen; they might be switched off
> after applying the found model
We also get ais from the kernel, so the host model will have zpci,ais and
aen
> - Compat for 2.9 and earlier switches off zpci, aen, ais
yes
> - We unconditionally enable the kvm part of ais
We tell the KVM code in the kernel to enable the facility bit (before the cpu
model might take it way) and if QEMU really uses ais, that the kernel does
the right thing then
>
> I'm still not sure what's supposed to happen with new qemu + old kernel
> (no ais) + full zEC12 GA1 or later model.
We enable aen and zpci, but disable ais for that guest. In theory a guest
can drive PCI devices without AIS. This is a valid configuration since zpci
does not require ais.
The fact that Linux requires ais to use PCI is unfortunate but that could
be "fixed" Linux if necessary.
- [Qemu-devel] [PATCH/s390-next 0/3] s390x: remaining pci related fixes, Christian Borntraeger, 2017/07/13
- [Qemu-devel] [PATCH/s390-next 1/3] s390x: initialize cpu firstly, Christian Borntraeger, 2017/07/13
- [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities, Christian Borntraeger, 2017/07/13
- Re: [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities, Cornelia Huck, 2017/07/13
- Re: [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities,
Christian Borntraeger <=
- Re: [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities, Cornelia Huck, 2017/07/13
- Re: [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities, Christian Borntraeger, 2017/07/13
- Re: [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities, Cornelia Huck, 2017/07/13
- Re: [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities, Christian Borntraeger, 2017/07/13
- Re: [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities, Cornelia Huck, 2017/07/13
- Re: [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities, Halil Pasic, 2017/07/13
[Qemu-devel] [PATCH/s390-next 3/3] s390x/flic: migrate ais states, Christian Borntraeger, 2017/07/13