Allocating SEV C-bit-cleared pages (without relying on swiotlb)

From: Teddy Astie
Date: Thu Mar 27 2025 - 10:14:24 EST


Hello Linux mailing list !

For porting Linux code to make it work on Xen with AMD-SEV, I need to
change the allocation of some pages to use "shared pages" (C-bit
cleared) instead of private pages (C-bit set, which is the default kind)
as these pages needs to be shared with the hypervisor/Dom0.

Is there a facility to allocate pages with C-bit cleared (and if not
running under SEV, just allocate a plain page) ? Current Linux code for
SEV seems to only rely on swiotlb as access to shared page is mostly
made through DMA-kind devices (e.g virtio or emulated device), but I
don't think it is the best approach.

Regards
Teddy


Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech