Linux kernel does not support customizable page table support, Below series from Boris is helping to solve this problem by introducing custome alloc and free ops: https://lore.kernel.org/all/20230809121744.2341454-1-boris.brezillon@xxxxxxxxxxxxx/ For cases, where HLOS has to setup s1 pgtable and request firmware to share the same to different entity(VMID), there is no easy way to achieve the same. This patchset over Boris patches is an attempt to solve the same problem where HLOS can do below things with help of custom alloc and free pgtable ops: -> Parse VMID from vendor implementation driver. -> Provide custom and free pg table ops, which help to create pages for page table from custom ops. -> And HLOS can also create S1 page table from custom ops and request firmware to share the same to headless VM or different entity(VMID). Gaurav Kohli (1): arm-smmu: Add iommu support to share pgtable drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 81 ++++++++++++++++++++++ drivers/iommu/arm/arm-smmu/arm-smmu.h | 8 +++ 2 files changed, 89 insertions(+) -- 2.17.1