On 26.09.2017 16:06, Christian Borntraeger wrote: > > > On 09/26/2017 03:43 PM, David Hildenbrand wrote: >> >>> + /* try enable the AIS facility */ >>> + test_attr.group = KVM_DEV_FLIC_AISM_ALL; >>> + if (!ioctl(flic_state->fd, KVM_HAS_DEVICE_ATTR, test_attr)) { >>> + kvm_vm_enable_cap(kvm_state, KVM_CAP_S390_AIS, 0); >>> + } >>> + >>> return; >>> fail: >>> error_propagate(errp, errp_local); >>> @@ -578,7 +584,7 @@ static void kvm_s390_flic_reset(DeviceState *dev) >>> >>> flic_disable_wait_pfault(flic); >>> >>> - if (fs->ais_supported) { >>> + if (s390_has_feat(S390_FEAT_ADAPTER_INT_SUPPRESSION)) { >> >> I don't remember if a reset is trigger on realization. Most probably >> not, but it could be. >> >> Would it hurt if the following code would not get called if the flic >> hasn't been used yet? (possible reset before cpu model has been >> initialized) - are kvm_s390_modify_ais_mode() calls required before ais >> can be used for the first time? > > Hmm, simm/nimm should default to zero in the kernel I guess. So I think it > would > not hurt. Yi Min, correct? > > > Anyway it seems that reset is NOT called during realize, the first > call is > > #0 0x00000000010e5178 kvm_s390_flic_reset (qemu-system-s390x) > #1 0x000000000124bbc4 device_reset (qemu-system-s390x) > #2 0x0000000001248cd0 qdev_reset_one (qemu-system-s390x) > #3 0x0000000001249ea4 qdev_walk_children (qemu-system-s390x) > #4 0x000000000124fd3a qbus_walk_children (qemu-system-s390x) > #5 0x0000000001248e6c qbus_reset_all (qemu-system-s390x) > #6 0x0000000001248eae qbus_reset_all_fn (qemu-system-s390x) > #7 0x0000000001250a60 qemu_devices_reset (qemu-system-s390x) > #8 0x0000000001143c80 s390_machine_reset (qemu-system-s390x) > #9 0x00000000011c5b72 qemu_system_reset (qemu-system-s390x) > #10 0x00000000011ceb8e main (qemu-system-s390x) > #11 0x000003ff947a289a __libc_start_main (libc.so.6) > #12 0x0000000001017646 _start (qemu-system-s390x) > >
Reviewed-by: David Hildenbrand <da...@redhat.com> than -- Thanks, David