x86/tdx: Make pages shared in ioremap()
[platform/kernel/linux-starfive.git] / arch / x86 / mm / ioremap.c
index 17a492c..1ad0228 100644 (file)
@@ -242,10 +242,15 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
         * If the page being mapped is in memory and SEV is active then
         * make sure the memory encryption attribute is enabled in the
         * resulting mapping.
+        * In TDX guests, memory is marked private by default. If encryption
+        * is not requested (using encrypted), explicitly set decrypt
+        * attribute in all IOREMAPPED memory.
         */
        prot = PAGE_KERNEL_IO;
        if ((io_desc.flags & IORES_MAP_ENCRYPTED) || encrypted)
                prot = pgprot_encrypted(prot);
+       else
+               prot = pgprot_decrypted(prot);
 
        switch (pcm) {
        case _PAGE_CACHE_MODE_UC: