David Hildenbrand <da...@redhat.com> writes: > [...] > >> 1 "msa4-base": true, >> 1 "pcc-cmac-aes-256": false, >> 1 "pcc-cmac-eaes-256": false, >> >> The grouping and masking you described appears to apply to >> query-cpu-model-expansion with type "static". With type "full", I can >> see the grouping, but not the masking. With query-cpu-definitions, I >> can't see either. >> >> I haven't played with query-cpu-model-comparison and >> query-cpu-model-baseline. > > Grouping will be done whenever all features part of a group are to be > reported. Please note that "msa4-base" is part of "msa4". > > You chose the only model where we do have msa4-base but none of the > other msa4 features - the qemu model.
Ah, "lucky" random pick. > So when you do a "query-cpu-definitions" under TCG (which basically maps > to the qemu model and only has the msa4-base feature), then you do have > msa4-base of all relevant models, but none of the other sub-features > they define. That's why you don't see msa4 explicitly, but instead the > subfeatures. > > query-cpu-model-expansion and the others behave similar the same way > with the "qemu" model. Note that the qemu model is not really used under > KVM on s390x. There, we use "host" as default. Next random pick: z13.2 shows msa4 before and after. >>>> But "'-cpu' setup" doesn't seem to be about reporting features. Am I >>>> confused? >>>> >>> >>> Let me clarify. Any user input would be broken if the two sub-features >>> would be specified explicitly, instead of the whole "msa4" group. This >>> applies to any user input, also the user input for query-cpu-model-. >>> >>> In the usual cases, libvirt will expand a cpu model (e.g., "host", >>> "z15") and start QEMU with that (-cpu ...). We will only have the >>> complete msa4 group here in practice. >>> >>> Yes, if some user would pick and chose such features manually, it would >>> be broken - it's just not the common on s390x with the huge amount of >>> features. But that's why I thing stable backports still make sense. >> >> The commit message should be accurate and sufficiently precise. The >> "sufficiently" gives me some wiggle room to avoid inaccuracy due to my >> ignorance. Would the following be good enough? >> >> Impact: >> >> * s390_feat_bitmap_to_ascii() misidentifies S390_FEAT_PCC_CMAC_AES_256 >> as "pcc-cmac-eaes-256". Affects QMP commands query-cpu-definitions, >> query-cpu-model-expansion, query-cpu-model-baseline, >> query-cpu-model-comparison, and the error message when >> s390_realize_cpu_model() fails in check_compatibility(). >> >> * s390_cpu_list() also misidentifies it. Affects -cpu help. >> >> * s390_cpu_model_register_props() creates CPU property >> "pcc-cmac-eaes-256" twice. The second one fails, but the error is >> ignored (a later commit will change that). Results in a single >> property "pcc-cmac-eaes-256" with the description for >> S390_FEAT_PCC_CMAC_AES_256, and no property for >> S390_FEAT_PCC_CMAC_EAES_256. CPU properties are visible in CLI -cpu >> and -device, QMP & HMP device_add, QMP device-list-properties, and >> QOM introspection. >> >> The two features are almost always used via their group msa4. Such >> use is not affected by this bug. > > Yeah, sounds good, thanks. Excellent.