On 09/26/2017 02:23 PM, David Hildenbrand wrote: > On 22.09.2017 10:38, Christian Borntraeger wrote: >> Instead of unconditionally enabling the KVM AIS capability >> in the kvm arch init function, do this in the flic realize function >> when we know if migration is available. This requires to initialize >> flic before the CPUs. >> >> Signed-off-by: Christian Borntraeger <borntrae...@de.ibm.com> >> --- >> hw/intc/s390_flic.c | 11 +++++++++-- >> hw/intc/s390_flic_kvm.c | 8 +++++++- >> hw/s390x/s390-virtio-ccw.c | 8 ++++++-- >> include/hw/s390x/s390_flic.h | 1 + >> target/s390x/cpu_models.c | 6 ++++++ >> target/s390x/kvm.c | 8 +------- >> 6 files changed, 30 insertions(+), 12 deletions(-) >> >> diff --git a/hw/intc/s390_flic.c b/hw/intc/s390_flic.c >> index 6eaf178..08040fe 100644 >> --- a/hw/intc/s390_flic.c >> +++ b/hw/intc/s390_flic.c >> @@ -1,7 +1,7 @@ >> /* >> * QEMU S390x floating interrupt controller (flic) >> * >> - * Copyright 2014 IBM Corp. >> + * Copyright 2014,2017 IBM Corp. >> * Author(s): Jens Freimann <jf...@linux.vnet.ibm.com> >> * Cornelia Huck <cornelia.h...@de.ibm.com> >> * >> @@ -49,6 +49,13 @@ void s390_flic_init(void) >> qdev_init_nofail(dev); >> } >> >> +void s390_flic_enable_ais(void) >> +{ >> + S390FLICState *fs = s390_get_flic(); >> + >> + fs->ais_supported = true; > > Can we simply replace all ais_supported checks by > s390_has_feat(S390_FEAT_ADAPTER_INT_SUPPRESSION) and drop ais_supported?
No, at flic realize, the CPU model is not available yet. And if we move cpumodel before flic then we cannot check the flic attributes so the CPU will not know if ais is available or not.