Hi Marc,
-----Original Message-----I know what you say. Let me try to solve this problem.
From: Marc Zyngier <maz@xxxxxxxxxx>
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?
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)
Step 1, figure out the set of reference counter value used by guest
in all condition.
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?
For step 2, I have no idea for that now. can you give me some hint about it?