Messages in this thread | | | Date | Mon, 13 Jan 2020 11:16:26 +0000 | From | Marc Zyngier <> | Subject | Re: [RFC PATCH v9 6/8] psci: Add hvc call service for ptp_kvm. |
| |
Hi Jianyong,
On 2020-01-13 10:30, Jianyong Wu wrote: > Hi Marc, > >> -----Original Message----- >> From: Marc Zyngier <maz@kernel.org> >> Sent: Friday, January 10, 2020 6:56 PM >> NV breaks that assumtion, because the guest hypervisor is using the >> physical >> counter. Also, let's not forget that the hypercall isn't Linux >> specific. >> I can write my own non-Linux guest and still use this hypercall. >> Nothing in >> there says that I can't use the physical counter if I want to. >> >> So somehow, you need to convey the the hypervisor the notion of >> *which* >> counter the guest uses. >> >> Does it make sense? Or am I missing something? >> > I know what you say. Let me try to solve this problem. > Step 0, summary out all the conditions we should process, which will > sever as branch condition.(now only normal virt and nested virt, I > think)
No. You shouldn't think of the various use cases, but of which time references a guest can use. You don't need nested virt to use the physical counter, for example.
> Step 1, figure out the set of reference counter value used by guest > in all condition.
That should be for the guest to tell you when it calls into the PV service.
> Step 2, determine which reference counter value will be used by guest > in a certain condition in hypercall. > In step 1, can we give the set only 2 elements that one is physical > counter the other is virtual counter?
I don't think returning the two values is useful. Just return what the guest asks for.
> For step 2, I have no idea for that now. can you give me some hint > about it?
Just expand your SMC call to take a parameter indicating the reference counter, and return the sampled (or computed) value corresponding to that counter.
M. -- Jazz is not dead. It just smells funny...
| |