On Fri, Aug 07, 2026 at 02:56:12PM +0530, Aneesh Kumar K.V (Arm) wrote:
> Realm guests and protected KVM guests may require swiotlb for device DMA
> even when all system RAM is addressable by the DMA zones.
>
> Do not reduce the SWIOTLB buffer to the kmalloc-bouncing size for these
> guests, as the reduced number of slots can be exhausted during CCA guest
> operation.
>
> Fixes: 30c5e45ee2c5 ("dma-direct: make dma_direct_map_phys() honor
> DMA_ATTR_CC_SHARED")
> Signed-off-by: Aneesh Kumar K.V (Arm) <[email protected]>
> ---
> arch/arm64/mm/init.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
> index e308a7cabd12..24caaf10e755 100644
> --- a/arch/arm64/mm/init.c
> +++ b/arch/arm64/mm/init.c
> @@ -339,7 +339,8 @@ void __init arch_mm_preinit(void)
> {
> unsigned int flags = SWIOTLB_VERBOSE;
>
> - if (max_pfn <= PFN_DOWN(arm64_dma_phys_limit)) {
> + if (!cc_platform_has(CC_ATTR_GUEST_MEM_ENCRYPT) &&
> + max_pfn <= PFN_DOWN(arm64_dma_phys_limit)) {
Protected guests under pKVM rely on restricted DMA, so won't this just
waste memory for them?
Will