summaryrefslogtreecommitdiff
path: root/scripts/extract-fwblobs
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-01-12 14:48:14 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2025-01-12 14:48:14 +0300
commit71b7bf1702c9f8b04c0eae78df6845db19e2bc28 (patch)
treedfe7198be8b44ce7c9cdd909ae60a70c284bb678 /scripts/extract-fwblobs
parentf07044dd0df0c9d0ad177c3098b62ccddb735a2d (diff)
parent55f4db79c4d94d4bb757f7a31a7f14de22fe517d (diff)
downloadlinux-71b7bf1702c9f8b04c0eae78df6845db19e2bc28.tar.xz
Merge branch 'kvm-e500-check-writable-pfn' into HEAD
The new __kvm_faultin_pfn() function is upset by the fact that e500 KVM ignores host page permissions - __kvm_faultin requires a "writable" outgoing argument, but e500 KVM is passing NULL. While a simple fix would be possible that simply allows writable to be NULL, it is quite ugly to have e500 KVM ignore completely the host permissions and map readonly host pages as guest-writable. Merge a more complete fix and remove the VMA-based attempts at building huge shadow TLB entries. Using a PTE lookup, similar to what is done for x86, is better and works with remap_pfn_range() because it does not assume that VM_PFNMAP areas are contiguous. Note that the same incorrect logic is there in ARM's get_vma_page_shift() and RISC-V's kvm_riscv_gstage_ioremap(). Fortunately, for e500 most of the code is already there; it just has to be changed to compute the range from find_linux_pte()'s output rather than find_vma(). The new code works for both VM_PFNMAP and hugetlb mappings, so the latter is removed. Patches 2-5 were tested by the reporter, Christian Zigotzky. Since the difference with v1 is minimal, I am going to send it to Linus today.
Diffstat (limited to 'scripts/extract-fwblobs')
0 files changed, 0 insertions, 0 deletions