lkml.org 
[lkml]   [2022]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v5 3/3] x86/tdx: Add Quote generation support
From
Date
On Wed, 2022-05-04 at 15:49 -0700, Sathyanarayanan Kuppuswamy wrote:
> --- a/arch/x86/coco/tdx/tdx.c
> +++ b/arch/x86/coco/tdx/tdx.c
> @@ -15,6 +15,7 @@
>   #include <asm/idtentry.h>
>   #include <asm/irq_regs.h>
>   #include <asm/desc.h>
> +#include <asm/io.h>
>
>   /* TDX module Call Leaf IDs */
>   #define TDX_GET_INFO                   1
> @@ -680,8 +681,15 @@ static bool try_accept_one(phys_addr_t *start,
> unsigned long len,
>    */
>   static bool tdx_enc_status_changed(unsigned long vaddr, int numpages,
> bool enc)
>   {
> -       phys_addr_t start = __pa(vaddr);
> -       phys_addr_t end   = __pa(vaddr + numpages * PAGE_SIZE);
> +       phys_addr_t start;
> +       phys_addr_t end;
> +
> +       if (is_vmalloc_addr((void *)vaddr))
> +               start =  page_to_phys(vmalloc_to_page((void*)vaddr));
> +       else
> +               start = __pa(vaddr);
> +
> +       end = start + numpages * PAGE_SIZE;
>
>          if (!enc) {
>                  /* Set the shared (decrypted) bits: */

Looks set_memory_decrypted() only works for direct-mapping, so you should not
use this. Instead, you can pass shared bit in 'prot' argument (using
pgprot_decrypted()) when you call vmap(), and explicitly call MapGPA().

--
Thanks,
-Kai


\
 
 \ /
  Last update: 2022-05-05 01:49    [W:0.348 / U:22.924 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site