On 11/14/22 15:53, Woodhouse, David wrote:
Most other data structures, including the pvclock info (both Xen and native KVM), could potentially cross page boundaries. And isn't that also true for things that we'd want to use the GPC for in nesting?
Yes, for kvmclock we likely got away with it because Linux page-aligns it (and has been since 2013: commit ed55705dd, originally done for vsyscall support). I have checked OpenBSD and FreeBSD and I think they do as well.
I am very very tempted to remove support for "old-style" kvmclock MSRs and retroactively declare new-style MSRs to accept only 32-byte aligned addresses. However that doesn't solve the problem.
Paolo