aboutsummaryrefslogtreecommitdiff
path: root/scripts/gdb/linux/pgtable.py
diff options
context:
space:
mode:
authorAnkit Agrawal <[email protected]>2024-02-24 20:35:45 +0530
committerOliver Upton <[email protected]>2024-02-24 17:57:39 +0000
commit8c47ce3e1d2c285349edf426b98e8460ce3e2f33 (patch)
treeddf8ef078d49db74a39bb05a455f86c4bf2ba9a1 /scripts/gdb/linux/pgtable.py
parent5c656fcdd6c60f71fccb07fe7b9d8d7e6c9811ff (diff)
KVM: arm64: Set io memory s2 pte as normalnc for vfio pci device
To provide VM with the ability to get device IO memory with NormalNC property, map device MMIO in KVM for ARM64 at stage2 as NormalNC. Having NormalNC S2 default puts guests in control (based on [1], "Combining stage 1 and stage 2 memory type attributes") of device MMIO regions memory mappings. The rules are summarized below: ([(S1) - stage1], [(S2) - stage 2]) S1 | S2 | Result NORMAL-WB | NORMAL-NC | NORMAL-NC NORMAL-WT | NORMAL-NC | NORMAL-NC NORMAL-NC | NORMAL-NC | NORMAL-NC DEVICE<attr> | NORMAL-NC | DEVICE<attr> Still this cannot be generalized to non PCI devices such as GICv2. There is insufficient information and uncertainity in the behavior of non PCI driver. A driver must indicate support using the new flag VM_ALLOW_ANY_UNCACHED. Adapt KVM to make use of the flag VM_ALLOW_ANY_UNCACHED as indicator to activate the S2 setting to NormalNc. [1] section D8.5.5 of DDI0487J_a_a-profile_architecture_reference_manual.pdf Suggested-by: Catalin Marinas <[email protected]> Acked-by: Jason Gunthorpe <[email protected]> Reviewed-by: Catalin Marinas <[email protected]> Reviewed-by: Marc Zyngier <[email protected]> Signed-off-by: Ankit Agrawal <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Oliver Upton <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/pgtable.py')
0 files changed, 0 insertions, 0 deletions