All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sathyanarayanan Kuppuswamy  <sathyanarayanan.kuppuswamy@linux.intel.com>
To: Tom Lendacky <thomas.lendacky@amd.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Peter Zijlstra <peterz@infradead.org>,
	Andy Lutomirski <luto@kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Richard Henderson <rth@twiddle.net>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	James E J Bottomley <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	"David S . Miller" <davem@davemloft.net>,
	Arnd Bergmann <arnd@arndb.de>, Jonathan Corbet <corbet@lwn.net>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Peter H Anvin <hpa@zytor.com>,
	Dave Hansen <dave.hansen@intel.com>,
	Tony Luck <tony.luck@intel.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Andi Kleen <ak@linux.intel.com>,
	Kirill Shutemov <kirill.shutemov@linux.intel.com>,
	Sean Christopherson <seanjc@google.com>,
	Kuppuswamy Sathyanarayanan <knsathya@kernel.org>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	linux-pci@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-arch@vger.kernel.org,
	linux-doc@vger.kernel.org,
	virtualization@lists.linux-foundation.org
Subject: Re: [PATCH v5 01/16] x86/mm: Move force_dma_unencrypted() to common code
Date: Wed, 20 Oct 2021 09:43:43 -0700	[thread overview]
Message-ID: <f7ede3f4-7280-38da-3744-32ecd8fdfcb1@linux.intel.com> (raw)
In-Reply-To: <72b8be39-b4e2-5d77-524c-a2ea0c750ab1@amd.com>



On 10/20/21 9:11 AM, Tom Lendacky wrote:
>> Intel TDX doesn't allow VMM to access guest private memory. Any memory
>> that is required for communication with VMM must be shared explicitly
>> by setting the bit in page table entry. After setting the shared bit,
>> the conversion must be completed with MapGPA hypercall. Details about
>> MapGPA hypercall can be found in [1], sec 3.2.
>>
>> The call informs VMM about the conversion between private/shared
>> mappings. The shared memory is similar to unencrypted memory in AMD
>> SME/SEV terminology but the underlying process of sharing/un-sharing
>> the memory is different for Intel TDX guest platform.
>>
>> SEV assumes that I/O devices can only do DMA to "decrypted" physical
>> addresses without the C-bit set. In order for the CPU to interact with
>> this memory, the CPU needs a decrypted mapping. To add this support,
>> AMD SME code forces force_dma_unencrypted() to return true for
>> platforms that support AMD SEV feature. It will be used for DMA memory
>> allocation API to trigger set_memory_decrypted() for platforms that
>> support AMD SEV feature.
>>
>> TDX is similar. So, to communicate with I/O devices, related pages need
>> to be marked as shared. As mentioned above, shared memory in TDX
>> architecture is similar to decrypted memory in AMD SME/SEV. So similar
>> to AMD SEV, force_dma_unencrypted() has to forced to return true. This
>> support is added in other patches in this series.
>>
>> So move force_dma_unencrypted() out of AMD specific code and call AMD
>> specific (amd_force_dma_unencrypted()) initialization function from it.
>> force_dma_unencrypted() will be modified by later patches to include
>> Intel TDX guest platform specific initialization.
>>
>> Also, introduce new config option X86_MEM_ENCRYPT_COMMON that has to be
>> selected by all x86 memory encryption features. This will be selected
>> by both AMD SEV and Intel TDX guest config options.
>>
>> This is preparation for TDX changes in DMA code and it has no
>> functional change.
> 
> Can force_dma_unencrypted() be moved to arch/x86/kernel/cc_platform.c, 
> instead of creating a new file? It might fit better with patch #6.

Please check the final version of mem_encrypt_common.c

https://github.com/intel/tdx/blob/guest/arch/x86/mm/mem_encrypt_common.c

I am not sure whether it is alright to move mem_encrypt_init() and
arch_has_restricted_virtio_memory_access() to cc_platform.c

If this is fine, I can get rid of mem_encrypt_common.c

-- 
Sathyanarayanan Kuppuswamy
Linux Kernel Developer

  reply	other threads:[~2021-10-20 16:43 UTC|newest]

Thread overview: 199+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-09  0:36 [PATCH v5 00/16] Add TDX Guest Support (shared-mm support) Kuppuswamy Sathyanarayanan
2021-10-09  0:36 ` [PATCH v5 01/16] x86/mm: Move force_dma_unencrypted() to common code Kuppuswamy Sathyanarayanan
2021-10-20 16:11   ` Tom Lendacky
2021-10-20 16:11     ` Tom Lendacky
2021-10-20 16:11     ` Tom Lendacky via Virtualization
2021-10-20 16:43     ` Sathyanarayanan Kuppuswamy [this message]
2021-10-09  0:36 ` [PATCH v5 02/16] x86/tdx: Get TD execution environment information via TDINFO Kuppuswamy Sathyanarayanan
2021-10-09  0:36 ` [PATCH v5 03/16] x86/tdx: Exclude Shared bit from physical_mask Kuppuswamy Sathyanarayanan
2021-11-05 22:11   ` Sean Christopherson
2021-11-05 22:11     ` Sean Christopherson
2021-11-08 14:45     ` Kirill A. Shutemov
2021-11-08 14:45       ` Kirill A. Shutemov
2021-11-08 14:45       ` Kirill A. Shutemov
2021-10-09  0:36 ` [PATCH v5 04/16] x86/tdx: Make pages shared in ioremap() Kuppuswamy Sathyanarayanan
2021-10-20 16:03   ` Tom Lendacky
2021-10-20 16:03     ` Tom Lendacky
2021-10-20 16:03     ` Tom Lendacky via Virtualization
2021-10-20 16:41     ` Sathyanarayanan Kuppuswamy
2021-10-09  0:37 ` [PATCH v5 05/16] x86/tdx: Add helper to do MapGPA hypercall Kuppuswamy Sathyanarayanan
2021-10-09  0:37 ` [PATCH v5 06/16] x86/tdx: Make DMA pages shared Kuppuswamy Sathyanarayanan
2021-10-20 16:33   ` Tom Lendacky
2021-10-20 16:33     ` Tom Lendacky
2021-10-20 16:33     ` Tom Lendacky via Virtualization
2021-10-20 16:45     ` Sathyanarayanan Kuppuswamy
2021-10-20 17:22       ` Tom Lendacky
2021-10-20 17:22         ` Tom Lendacky
2021-10-20 17:22         ` Tom Lendacky via Virtualization
2021-10-20 17:26         ` Sathyanarayanan Kuppuswamy
2021-10-09  0:37 ` [PATCH v5 07/16] x86/kvm: Use bounce buffers for TD guest Kuppuswamy Sathyanarayanan
2021-10-20 16:39   ` Tom Lendacky
2021-10-20 16:39     ` Tom Lendacky
2021-10-20 16:39     ` Tom Lendacky via Virtualization
2021-10-20 16:50     ` Sathyanarayanan Kuppuswamy
2021-10-20 17:26       ` Tom Lendacky
2021-10-20 17:26         ` Tom Lendacky
2021-10-20 17:26         ` Tom Lendacky via Virtualization
2021-10-09  0:37 ` [PATCH v5 08/16] x86/tdx: ioapic: Add shared bit for IOAPIC base address Kuppuswamy Sathyanarayanan
2021-10-09  0:37 ` [PATCH v5 09/16] x86/tdx: Enable shared memory confidential guest flags for TDX guest Kuppuswamy Sathyanarayanan
2021-10-09  0:37 ` [PATCH v5 10/16] PCI: Consolidate pci_iomap_range(), pci_iomap_wc_range() Kuppuswamy Sathyanarayanan
2021-10-09  0:37   ` Kuppuswamy Sathyanarayanan
2021-10-09  0:37 ` [PATCH v5 11/16] asm/io.h: Add ioremap_host_shared fallback Kuppuswamy Sathyanarayanan
2021-10-09  0:37 ` [PATCH v5 12/16] PCI: Add pci_iomap_host_shared(), pci_iomap_host_shared_range() Kuppuswamy Sathyanarayanan
2021-10-09  9:53   ` Michael S. Tsirkin
2021-10-09  9:53     ` Michael S. Tsirkin
2021-10-09  9:53     ` Michael S. Tsirkin
2021-10-09 20:39     ` Dan Williams
2021-10-09 20:39       ` Dan Williams
2021-10-09 20:39       ` Dan Williams
2021-10-10 22:11       ` Andi Kleen
2021-10-10 22:11         ` Andi Kleen
2021-10-10 22:11         ` Andi Kleen
2021-10-12 17:42         ` Dan Williams
2021-10-12 17:42           ` Dan Williams
2021-10-12 17:42           ` Dan Williams
2021-10-12 18:35           ` Andi Kleen
2021-10-12 18:35             ` Andi Kleen
2021-10-12 18:35             ` Andi Kleen
2021-10-12 21:14             ` Dan Williams
2021-10-12 21:14               ` Dan Williams
2021-10-12 21:14               ` Dan Williams
2021-10-12 21:18               ` Michael S. Tsirkin
2021-10-12 21:18                 ` Michael S. Tsirkin
2021-10-12 21:18                 ` Michael S. Tsirkin
2021-10-12 21:24                 ` Andi Kleen
2021-10-12 21:24                   ` Andi Kleen
2021-10-12 21:24                   ` Andi Kleen
2021-10-12 21:28               ` Andi Kleen
2021-10-12 21:28                 ` Andi Kleen
2021-10-12 21:28                 ` Andi Kleen
2021-10-12 22:00                 ` Dan Williams
2021-10-12 22:00                   ` Dan Williams
2021-10-12 22:00                   ` Dan Williams
2021-10-18 12:13             ` Greg KH
2021-10-18 12:13               ` Greg KH
2021-10-18 12:13               ` Greg KH
2021-10-12 18:36         ` Reshetova, Elena
2021-10-12 18:36           ` Reshetova, Elena
2021-10-12 18:38           ` Andi Kleen
2021-10-12 18:38             ` Andi Kleen
2021-10-12 18:38             ` Andi Kleen
2021-10-12 18:57             ` Reshetova, Elena
2021-10-12 18:57               ` Reshetova, Elena
2021-10-12 19:13               ` Dan Williams
2021-10-12 19:13                 ` Dan Williams
2021-10-12 19:13                 ` Dan Williams
2021-10-12 19:49                 ` Andi Kleen
2021-10-12 19:49                   ` Andi Kleen
2021-10-12 19:49                   ` Andi Kleen
2021-10-12 21:11           ` Michael S. Tsirkin
2021-10-12 21:11             ` Michael S. Tsirkin
2021-10-12 21:11             ` Michael S. Tsirkin
2021-10-14  6:32             ` Reshetova, Elena
2021-10-14  6:32               ` Reshetova, Elena
2021-10-14  6:57               ` Michael S. Tsirkin
2021-10-14  6:57                 ` Michael S. Tsirkin
2021-10-14  6:57                 ` Michael S. Tsirkin
2021-10-14  7:27                 ` Reshetova, Elena
2021-10-14  7:27                   ` Reshetova, Elena
2021-10-14  9:26                   ` Michael S. Tsirkin
2021-10-14  9:26                     ` Michael S. Tsirkin
2021-10-14  9:26                     ` Michael S. Tsirkin
2021-10-14 12:33                     ` Reshetova, Elena
2021-10-14 12:33                       ` Reshetova, Elena
2021-10-17 22:17                       ` Michael S. Tsirkin
2021-10-17 22:17                         ` Michael S. Tsirkin
2021-10-17 22:17                         ` Michael S. Tsirkin
2021-10-14 11:49                   ` Michael S. Tsirkin
2021-10-14 11:49                     ` Michael S. Tsirkin
2021-10-14 11:49                     ` Michael S. Tsirkin
2021-10-17 21:52               ` Thomas Gleixner
2021-10-17 21:52                 ` Thomas Gleixner
2021-10-17 21:52                 ` Thomas Gleixner
2021-10-18  7:03                 ` Reshetova, Elena
2021-10-18  7:03                   ` Reshetova, Elena
2021-10-18  0:55         ` Thomas Gleixner
2021-10-18  0:55           ` Thomas Gleixner
2021-10-18  0:55           ` Thomas Gleixner
2021-10-18  1:10           ` Thomas Gleixner
2021-10-18  1:10             ` Thomas Gleixner
2021-10-18  1:10             ` Thomas Gleixner
2021-10-18 12:08         ` Greg KH
2021-10-18 12:08           ` Greg KH
2021-10-18 12:08           ` Greg KH
2021-10-10 22:22     ` Andi Kleen
2021-10-10 22:22       ` Andi Kleen
2021-10-10 22:22       ` Andi Kleen
2021-10-11 11:59       ` Michael S. Tsirkin
2021-10-11 11:59         ` Michael S. Tsirkin
2021-10-11 11:59         ` Michael S. Tsirkin
2021-10-11 17:32         ` Andi Kleen
2021-10-11 17:32           ` Andi Kleen
2021-10-11 17:32           ` Andi Kleen
2021-10-11 18:22           ` Michael S. Tsirkin
2021-10-11 18:22             ` Michael S. Tsirkin
2021-10-11 18:22             ` Michael S. Tsirkin
2021-10-18 12:15         ` Greg KH
2021-10-18 12:15           ` Greg KH
2021-10-18 12:15           ` Greg KH
2021-10-18 13:17           ` Michael S. Tsirkin
2021-10-18 13:17             ` Michael S. Tsirkin
2021-10-18 13:17             ` Michael S. Tsirkin
2021-10-11  7:58   ` Christoph Hellwig
2021-10-11  7:58     ` Christoph Hellwig
2021-10-11  7:58     ` Christoph Hellwig
2021-10-11 17:23     ` Andi Kleen
2021-10-11 17:23       ` Andi Kleen
2021-10-11 17:23       ` Andi Kleen
2021-10-11 19:09       ` Michael S. Tsirkin
2021-10-11 19:09         ` Michael S. Tsirkin
2021-10-11 19:09         ` Michael S. Tsirkin
2021-10-12  5:31         ` Christoph Hellwig
2021-10-12  5:31           ` Christoph Hellwig
2021-10-12  5:31           ` Christoph Hellwig
2021-10-12 18:37           ` Andi Kleen
2021-10-12 18:37             ` Andi Kleen
2021-10-12 18:37             ` Andi Kleen
2021-10-09  0:37 ` [PATCH v5 13/16] PCI: Mark MSI data shared Kuppuswamy Sathyanarayanan
2021-10-09  0:37 ` [PATCH v5 14/16] virtio: Use shared mappings for virtio PCI devices Kuppuswamy Sathyanarayanan
2021-10-09  0:37 ` [PATCH v5 15/16] x86/tdx: Implement ioremap_host_shared for x86 Kuppuswamy Sathyanarayanan
2021-10-09  0:37 ` [PATCH v5 16/16] x86/tdx: Add cmdline option to force use of ioremap_host_shared Kuppuswamy Sathyanarayanan
2021-10-09  1:45   ` Randy Dunlap
2021-10-09  1:45     ` Randy Dunlap
2021-10-09  1:45     ` Randy Dunlap
2021-10-09  2:10     ` Kuppuswamy, Sathyanarayanan
2021-10-09 11:04   ` Michael S. Tsirkin
2021-10-09 11:04     ` Michael S. Tsirkin
2021-10-09 11:04     ` Michael S. Tsirkin
2021-10-11  2:39     ` Andi Kleen
2021-10-11  2:39       ` Andi Kleen
2021-10-11  2:39       ` Andi Kleen
2021-10-11 12:04       ` Michael S. Tsirkin
2021-10-11 12:04         ` Michael S. Tsirkin
2021-10-11 12:04         ` Michael S. Tsirkin
2021-10-11 17:35         ` Andi Kleen
2021-10-11 17:35           ` Andi Kleen
2021-10-11 17:35           ` Andi Kleen
2021-10-11 18:28           ` Michael S. Tsirkin
2021-10-11 18:28             ` Michael S. Tsirkin
2021-10-11 18:28             ` Michael S. Tsirkin
2021-10-12 17:55             ` Andi Kleen
2021-10-12 17:55               ` Andi Kleen
2021-10-12 17:55               ` Andi Kleen
2021-10-12 20:59               ` Michael S. Tsirkin
2021-10-12 20:59                 ` Michael S. Tsirkin
2021-10-12 20:59                 ` Michael S. Tsirkin
2021-10-12 21:18                 ` Andi Kleen
2021-10-12 21:18                   ` Andi Kleen
2021-10-12 21:18                   ` Andi Kleen
2021-10-12 21:30                   ` Michael S. Tsirkin
2021-10-12 21:30                     ` Michael S. Tsirkin
2021-10-12 21:30                     ` Michael S. Tsirkin
2021-10-15  5:50                     ` Andi Kleen
2021-10-15  5:50                       ` Andi Kleen
2021-10-15  5:50                       ` Andi Kleen
2021-10-15  6:57                       ` Michael S. Tsirkin
2021-10-15  6:57                         ` Michael S. Tsirkin
2021-10-15  6:57                         ` Michael S. Tsirkin
2021-10-15 13:34                         ` Andi Kleen
2021-10-17 22:34                           ` Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f7ede3f4-7280-38da-3744-32ecd8fdfcb1@linux.intel.com \
    --to=sathyanarayanan.kuppuswamy@linux.intel.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=aarcange@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@intel.com \
    --cc=davem@davemloft.net \
    --cc=david@redhat.com \
    --cc=deller@gmx.de \
    --cc=hpa@zytor.com \
    --cc=jpoimboe@redhat.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=knsathya@kernel.org \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rth@twiddle.net \
    --cc=seanjc@google.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=tony.luck@intel.com \
    --cc=tsbogend@alpha.franken.de \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.