[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7ccee3be-6438-462d-8dce-efa58238f28d@redhat.com>
Date: Fri, 4 Jul 2025 16:10:30 +0200
From: David Hildenbrand <david@...hat.com>
To: ankita@...dia.com, jgg@...dia.com, maz@...nel.org,
oliver.upton@...ux.dev, joey.gouly@....com, suzuki.poulose@....com,
yuzenghui@...wei.com, catalin.marinas@....com, will@...nel.org,
ryan.roberts@....com, shahuang@...hat.com, lpieralisi@...nel.org,
ddutile@...hat.com, seanjc@...gle.com
Cc: aniketa@...dia.com, cjia@...dia.com, kwankhede@...dia.com,
kjaju@...dia.com, targupta@...dia.com, vsethi@...dia.com,
acurrid@...dia.com, apopple@...dia.com, jhubbard@...dia.com,
danw@...dia.com, zhiw@...dia.com, mochs@...dia.com, udhoke@...dia.com,
dnigam@...dia.com, alex.williamson@...hat.com, sebastianene@...gle.com,
coltonlewis@...gle.com, kevin.tian@...el.com, yi.l.liu@...el.com,
ardb@...nel.org, akpm@...ux-foundation.org, gshan@...hat.com,
linux-mm@...ck.org, tabba@...gle.com, qperret@...gle.com,
kvmarm@...ts.linux.dev, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, maobibo@...ngson.cn
Subject: Re: [PATCH v9 4/6] KVM: arm64: New function to determine hardware
cache management support
On 21.06.25 06:21, ankita@...dia.com wrote:
> From: Ankit Agrawal <ankita@...dia.com>
>
> VM_PFNMAP VMA's are allowed to contain PTE's which point to physical
> addresses that does not have a struct page and may not be in the kernel
> direct map.
>
> However ARM64 KVM relies on a simple conversion from physaddr to a
> kernel virtual address when it does cache maintenance as the CMO
> instructions work on virtual addresses. This simple approach does not
> work for physical addresses from VM_PFNMAP since those addresses may
> not have a kernel virtual address, or it may be difficult to find it.
>
> Fortunately if the ARM64 CPU has two features, S2FWB and CACHE DIC,
> then KVM no longer needs to do cache flushing and NOP's all the
> CMOs. This has the effect of no longer requiring a KVA for addresses
> mapped into the S2.
>
> Add a new function, kvm_arch_supports_cacheable_pfnmap(), to report
> this capability. From a core prespective it means the arch can accept
> a cachable VM_PFNMAP as a memslot. From an ARM64 perspective it means
> that no KVA is required.
>
> CC: Jason Gunthorpe <jgg@...dia.com>
> CC: David Hildenbrand <david@...hat.com>
> CC: Donald Dutile <ddutile@...hat.com>
> Reviewed-by: Catalin Marinas <catalin.marinas@....com>
> Signed-off-by: Ankit Agrawal <ankita@...dia.com>
> ---
Reviewed-by: David Hildenbrand <david@...hat.com>
--
Cheers,
David / dhildenb
Powered by blists - more mailing lists