Commit df01f0a1 authored by Xiaoyao Li's avatar Xiaoyao Li Committed by Sean Christopherson
Browse files

KVM: x86: Improve documentation of MSR_KVM_ASYNC_PF_EN



Fix some incorrect statement of MSR_KVM_ASYNC_PF_EN documentation and
state clearly the token in 'struct kvm_vcpu_pv_apf_data' of 'page ready'
event is matchted with the token in CR2 in 'page not present' event.

Signed-off-by: default avatarXiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20231025055914.1201792-3-xiaoyao.li@intel.com


Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
parent ccb2280e
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -193,8 +193,8 @@ data:
	Asynchronous page fault (APF) control MSR.

	Bits 63-6 hold 64-byte aligned physical address of a 64 byte memory area
	which must be in guest RAM and must be zeroed. This memory is expected
	to hold a copy of the following structure::
	which must be in guest RAM. This memory is expected to hold the
	following structure::

	  struct kvm_vcpu_pv_apf_data {
		/* Used for 'page not present' events delivered via #PF */
@@ -231,14 +231,14 @@ data:
	as regular page fault, guest must reset 'flags' to '0' before it does
	something that can generate normal page fault.

	Bytes 5-7 of 64 byte memory location ('token') will be written to by the
	Bytes 4-7 of 64 byte memory location ('token') will be written to by the
	hypervisor at the time of APF 'page ready' event injection. The content
	of these bytes is a token which was previously delivered as 'page not
	present' event. The event indicates the page in now available. Guest is
	supposed to write '0' to 'token' when it is done handling 'page ready'
	event and to write 1' to MSR_KVM_ASYNC_PF_ACK after clearing the location;
	writing to the MSR forces KVM to re-scan its queue and deliver the next
	pending notification.
	of these bytes is a token which was previously delivered in CR2 as
	'page not present' event. The event indicates the page is now available.
	Guest is supposed to write '0' to 'token' when it is done handling
	'page ready' event and to write '1' to MSR_KVM_ASYNC_PF_ACK after
	clearing the location; writing to the MSR forces KVM to re-scan its
	queue and deliver the next pending notification.

	Note, MSR_KVM_ASYNC_PF_INT MSR specifying the interrupt vector for 'page
	ready' APF delivery needs to be written to before enabling APF mechanism