ANDROID: KVM: arm64: Host handling of huge-pages HVCs
The host keeps track of guest donations via kvm_pinned_pages, however,
in the case of huge pages, the hypervisor is free of replacing a block
mapping with a page table and to unmap a portion of that newly
introduced page table. Those changes aren't reported to the host as it
would be fiddly to keep page tables and pinned_pages synchronized.
In order to support block mappings in the guest stage-2, few HVCs will
have to handle huge pages and by extension handle the case where one of
this block has already been broken down in PAGE_SIZE mapping (-E2BIG) or
a fragment of a broken down huge page is already unmapped (-EINVAL).
Introducing a common handler for the cases above.
Bug: 278749606
Bug: 278011447
Change-Id: If4bcbc07be79b703fb4847a7fb2b17e24b9e09a6
Signed-off-by:
Vincent Donnefort <vdonnefort@google.com>
Loading
Please sign in to comment