On Tue, 19 Mar 2024 at 14:57, Eric Auger <eauger@xxxxxxxxxx> wrote: > > Hi Peter, > > On 2/29/24 12:00, Peter Maydell wrote: > > On Thu, 29 Feb 2024 at 02:32, Shaoqin Huang <shahuang@xxxxxxxxxx> wrote: > >> I was trying to add a test in tests/qtest/arm-cpu-features.c. But I > >> found all other cpu-feature is bool property. > >> > >> When I use the 'query-cpu-model-expansion' to query the cpu-features, > >> the kvm-pmu-filter will not shown in the returned results, just like below. > >> > >> {'execute': 'query-cpu-model-expansion', 'arguments': {'type': 'full', > >> 'model': { 'name': 'host'}}}{"return": {}} > >> > >> {"return": {"model": {"name": "host", "props": {"sve768": false, > >> "sve128": false, "sve1024": false, "sve1280": false, "sve896": false, > >> "sve256": false, "sve1536": false, "sve1792": false, "sve384": false, > >> "sve": false, "sve2048": false, "pauth": false, "kvm-no-adjvtime": > >> false, "sve512": false, "aarch64": true, "pmu": true, "sve1920": false, > >> "sve1152": false, "kvm-steal-time": true, "sve640": false, "sve1408": > >> false, "sve1664": false}}}} > >> > >> I'm not sure if it's because the `query-cpu-model-expansion` only return > >> the feature which is bool. Since the kvm-pmu-filter is a str, it won't > >> be recognized as a feature. > >> > >> So I want to ask how can I add the kvm-pmu-filter which is str property > >> into the cpu-feature.c test. > > > > It doesn't appear because the list of properties that we advertise > > via query-cpu-model-expansion is set in the cpu_model_advertised_features[] > > array in target/arm/arm-qmp-cmds.c, and this patch doesn't add > > 'kvm-pmu-filter' to it. But you have a good point about all the > > others being bool properties: I don't know enough about that > > mechanism to know if simply adding this to the list is right. > > > > This does raise a more general question: do we need to advertise > > the existence of this property to libvirt via QMP? Eric, Sebastian: > > do you know ? > sorry I missed this question. yes I think it is sensible to expose that > option to libvirt. There is no good default value to be set at qemu > level so to me it really depends on the upper stack to choose the > correct value (depending on the sensitiveness of the data that justified > the kernel uapi). In that case we should definitely have a mechanism for libvirt to be able to say "does this QEMU (and this CPU) implement this property?". Unfortunately my QMP/libvirt expertise is too low to be able to suggest what that mechanism should be... thanks -- PMM