Re: [RFC v1 25/26] x86/tdx: Make DMA pages shared

2021-04-06 Thread Sean Christopherson
On Tue, Apr 06, 2021, Dave Hansen wrote: > On 4/6/21 9:31 AM, Kirill A. Shutemov wrote: > > On Thu, Apr 01, 2021 at 02:01:15PM -0700, Dave Hansen wrote: > >>> @@ -1999,7 +2006,8 @@ static int __set_memory_enc_dec(unsigned long addr, > >>> int numpages, bool enc) > >>> /* > >>>* Before changi

Re: [RFC v1 25/26] x86/tdx: Make DMA pages shared

2021-04-06 Thread Dave Hansen
On 4/6/21 9:31 AM, Kirill A. Shutemov wrote: > On Thu, Apr 01, 2021 at 02:01:15PM -0700, Dave Hansen wrote: >>> @@ -1977,8 +1978,8 @@ static int __set_memory_enc_dec(unsigned long addr, >>> int numpages, bool enc) >>> struct cpa_data cpa; >>> int ret; >>> >>> - /* Nothing to do if memo

Re: [RFC v1 25/26] x86/tdx: Make DMA pages shared

2021-04-06 Thread Kirill A. Shutemov
On Thu, Apr 01, 2021 at 02:01:15PM -0700, Dave Hansen wrote: > > +int tdx_map_gpa(phys_addr_t gpa, int numpages, bool private) > > +{ > > + int ret, i; > > + > > + ret = __tdx_map_gpa(gpa, numpages, private); > > + if (ret || !private) > > + return ret; > > + > > + for (i = 0; i <

Re: [RFC v1 25/26] x86/tdx: Make DMA pages shared

2021-04-01 Thread Dave Hansen
> +int tdx_map_gpa(phys_addr_t gpa, int numpages, bool private) > +{ > + int ret, i; > + > + ret = __tdx_map_gpa(gpa, numpages, private); > + if (ret || !private) > + return ret; > + > + for (i = 0; i < numpages; i++) > + tdx_accept_page(gpa + i*PAGE_SIZE); >

[RFC v1 25/26] x86/tdx: Make DMA pages shared

2021-02-05 Thread Kuppuswamy Sathyanarayanan
From: "Kirill A. Shutemov" Make force_dma_unencrypted() return true for TDX to get DMA pages mapped as shared. __set_memory_enc_dec() is now aware about TDX and sets Shared bit accordingly following with relevant TDVMCALL. Also, Do TDACCEPTPAGE on every 4k page after mapping the GPA range when