Messages in this thread | | | Subject | Re: [PATCH v5 18/22] KVM: arm64: Support SDEI ioctl commands on VM | From | Gavin Shan <> | Date | Fri, 25 Mar 2022 18:14:23 +0800 |
| |
Hi Oliver,
On 3/25/22 3:35 PM, Oliver Upton wrote: > On Fri, Mar 25, 2022 at 02:59:52PM +0800, Gavin Shan wrote: >>> The PSCI implementation is a great example of how KVM has grown its >>> implementation in line with a specification, all the while preserving >>> backwards compatibility. >>> >> >> The only information feed by VMM is the exposed events. The events >> can't be registered from guest kernel, and raised from host to guest >> kernel until it's exposed by VMM. > > I would suggest assuming that all SDEI events are exposed by default in > KVM. We will not require a VMM change to enable events individually. >
Ok, it was exactly what I did in v4, but the event is exposed by VMM in v5. In v6, it will be staticly defined again :)
>> Besides, the exposed events will >> be defined staticly in host/KVM as we discussed on PATCH[02/22]. We >> also discussed to eliminate those ioctl commands. So I think we needn't >> to add KVM_SDEI_CMD_SET_VERSION. Further more, the version is only a >> concern to host itself if the migration can be done through the >> firmware pseudo system registers since the migration compatibility >> is the only concern to VMM (QEMU). > > This all needs to work just like the KVM_REG_ARM_PSCI_VERSION version, > I'd recommend taking a look at how we handle that register in KVM. >
Ok. I will do necessary investigation :)
>> Yes, Currently, 0.1/0.2/1.0 versions are supported by PSCI. 0.1 is >> picked until VMM asks for 0.2 and 1.0 explicitly. However, it seems >> QEMU isn't using 1.0 PSCI yet and maybe more patch is needed to enable >> it. > > As far as how it interacts with KVM, QEMU looks fine. The name of the > KVM_ARM_VCPU_PSCI_0_2 bit is quite frustrating. It actually implies that > KVM will enable it highest supported PSCI version. If the feature bit is > cleared then you only get PSCIv0.1 > > However, the DT node that QEMU sets up looks a bit crusty. The > properties for conveying PSCI function IDs were only ever necessary for > PSCIv0.1. The only property of interest any more is 'method', to convey > the SMCCC conduit instruction. >
Ok, Thanks again for the further information about PSCI implementation. I will go through the code when I have free cycyles :)
Thanks, Gavin
| |