Messages in this thread | | | Subject | Re: [PATCH] KVM: arm64: Use the correct timer for accessing CNT | From | Zenghui Yu <> | Date | Mon, 16 Mar 2020 20:38:36 +0800 |
| |
Hi Marc,
On 2020/3/16 19:09, Marc Zyngier wrote: > Hi Zenghui, > > On 2020-03-16 10:49, Zenghui Yu wrote: >> Hi, >> >> On 2020/3/16 17:39, KarimAllah Ahmed wrote: >>> Use the physical timer object when reading the physical timer counter >>> instead of using the virtual timer object. This is only visible when >>> reading it from user-space as kvm_arm_timer_get_reg() is only >>> executed on >>> the get register patch from user-space. >> >> s/patch/path/ >> >> I think the physical counter hasn't yet been accessed by the current >> userspace, wrong? > > I don't think userspace can access it, as the ONE_REG API only exposes > the virtual > timer so far, and userspace is much better off just reading the counter > directly > (it has access to the virtual counter, and the guarantee that cntvoff is > 0 in this > context).
Yeah, I see. The physical timer registers are all ignored in walk_one_sys_reg() and won't be exposed.
> > But as we move towards a situation where we can save/restore the > physical timer > just like the virtual one, we're going to use this path and hit this bug.
Thanks for the explanation.
Zenghui
| |