<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Thanks for reviews.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">As Christian’s suggestion, I added drm_version checking, for the older driver, security test suites are disabled.<o:p></o:p></p>
<p class="MsoNormal">I create a remote branch for libdrm: <span style="color:red">
remotes/origin/aaliu/for-tmz-support</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">BR,<o:p></o:p></p>
<p class="MsoNormal">Aaron Liu<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Olsak, Marek <Marek.Olsak@amd.com> <br>
<b>Sent:</b> Saturday, November 16, 2019 3:53 AM<br>
<b>To:</b> Koenig, Christian <Christian.Koenig@amd.com>; Deucher, Alexander <Alexander.Deucher@amd.com><br>
<b>Cc:</b> Christian König <ckoenig.leichtzumerken@gmail.com>; Liu, Aaron <Aaron.Liu@amd.com>; amd-gfx@lists.freedesktop.org; Huang, Ray <Ray.Huang@amd.com>; Tuikov, Luben <Luben.Tuikov@amd.com>; Liu, Leo <Leo.Liu@amd.com><br>
<b>Subject:</b> Re: [PATCH 01/12] amdgpu: add UAPI for creating encrypted buffers<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">The way this is upstreamed is that you submit the kernel and userspace patches for review at the same time. When they see the userspace patches, the kernel patches will be accepted. When the kernel
 patches land in the Dave's or Linus's tree, the userspace patches can be pushed.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Marek<o:p></o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="98%" align="center">
</div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span style="color:black">From:</span></b><span style="color:black"> Olsak, Marek <</span><a href="mailto:Marek.Olsak@amd.com">Marek.Olsak@amd.com</a><span style="color:black">><br>
<b>Sent:</b> November 15, 2019 14:34<br>
<b>To:</b> Koenig, Christian <</span><a href="mailto:Christian.Koenig@amd.com">Christian.Koenig@amd.com</a><span style="color:black">>; Deucher, Alexander <</span><a href="mailto:Alexander.Deucher@amd.com">Alexander.Deucher@amd.com</a><span style="color:black">><br>
<b>Cc:</b> Christian König <</span><a href="mailto:ckoenig.leichtzumerken@gmail.com">ckoenig.leichtzumerken@gmail.com</a><span style="color:black">>; Liu, Aaron <</span><a href="mailto:Aaron.Liu@amd.com">Aaron.Liu@amd.com</a><span style="color:black">>;
</span><a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><span style="color:black"> <</span><a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><span style="color:black">>; Huang, Ray <</span><a href="mailto:Ray.Huang@amd.com">Ray.Huang@amd.com</a><span style="color:black">>;
 Tuikov, Luben <</span><a href="mailto:Luben.Tuikov@amd.com">Luben.Tuikov@amd.com</a><span style="color:black">>; Liu, Leo <</span><a href="mailto:Leo.Liu@amd.com">Leo.Liu@amd.com</a><span style="color:black">><br>
<b>Subject:</b> Re: [PATCH 01/12] amdgpu: add UAPI for creating encrypted buffers</span>
<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">In the kernel tree, you need to do "make headers_install". Then copy amdgpu_drm.h from ./usr/ to the libdrm tree and discard parts that we can't upstream (freesync).<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Marek<o:p></o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="98%" align="center">
</div>
<div id="x_divRplyFwdMsg">
<p class="MsoNormal"><b><span style="color:black">From:</span></b><span style="color:black"> Koenig, Christian <</span><a href="mailto:Christian.Koenig@amd.com">Christian.Koenig@amd.com</a><span style="color:black">><br>
<b>Sent:</b> November 15, 2019 10:08<br>
<b>To:</b> Deucher, Alexander <</span><a href="mailto:Alexander.Deucher@amd.com">Alexander.Deucher@amd.com</a><span style="color:black">><br>
<b>Cc:</b> Christian König <</span><a href="mailto:ckoenig.leichtzumerken@gmail.com">ckoenig.leichtzumerken@gmail.com</a><span style="color:black">>; Liu, Aaron <</span><a href="mailto:Aaron.Liu@amd.com">Aaron.Liu@amd.com</a><span style="color:black">>;
</span><a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><span style="color:black"> <</span><a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><span style="color:black">>; Olsak, Marek <</span><a href="mailto:Marek.Olsak@amd.com">Marek.Olsak@amd.com</a><span style="color:black">>;
 Huang, Ray <</span><a href="mailto:Ray.Huang@amd.com">Ray.Huang@amd.com</a><span style="color:black">>; Tuikov, Luben <</span><a href="mailto:Luben.Tuikov@amd.com">Luben.Tuikov@amd.com</a><span style="color:black">>; Liu, Leo <</span><a href="mailto:Leo.Liu@amd.com">Leo.Liu@amd.com</a><span style="color:black">><br>
<b>Subject:</b> Re: [PATCH 01/12] amdgpu: add UAPI for creating encrypted buffers</span>
<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">I know, that's the usual chicken and egg problem with updating libdrm.
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">But we should update the file with the kernel version and not pick all changes line by line.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Christian.<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Am 15.11.2019 15:49 schrieb "Deucher, Alexander" <<a href="mailto:Alexander.Deucher@amd.com">Alexander.Deucher@amd.com</a>>:<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">We can't land the kernel side until we have real userspace (e.g., Mesa) that uses the TMZ interfaces.  The unit tests are not enough.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Alex<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="98%" align="center">
</div>
<div id="x_x_divRplyFwdMsg">
<p class="MsoNormal"><b><span style="color:black">From:</span></b><span style="color:black"> Christian König <</span><a href="mailto:ckoenig.leichtzumerken@gmail.com">ckoenig.leichtzumerken@gmail.com</a><span style="color:black">><br>
<b>Sent:</b> Friday, November 15, 2019 7:56 AM<br>
<b>To:</b> Liu, Aaron <</span><a href="mailto:Aaron.Liu@amd.com">Aaron.Liu@amd.com</a><span style="color:black">>;
</span><a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><span style="color:black"> <</span><a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><span style="color:black">><br>
<b>Cc:</b> Olsak, Marek <</span><a href="mailto:Marek.Olsak@amd.com">Marek.Olsak@amd.com</a><span style="color:black">>; Huang, Ray <</span><a href="mailto:Ray.Huang@amd.com">Ray.Huang@amd.com</a><span style="color:black">>; Tuikov, Luben <</span><a href="mailto:Luben.Tuikov@amd.com">Luben.Tuikov@amd.com</a><span style="color:black">>;
 Deucher, Alexander <</span><a href="mailto:Alexander.Deucher@amd.com">Alexander.Deucher@amd.com</a><span style="color:black">>; Liu, Leo <</span><a href="mailto:Leo.Liu@amd.com">Leo.Liu@amd.com</a><span style="color:black">>; Koenig, Christian <</span><a href="mailto:Christian.Koenig@amd.com">Christian.Koenig@amd.com</a><span style="color:black">><br>
<b>Subject:</b> Re: [PATCH 01/12] amdgpu: add UAPI for creating encrypted buffers</span>
<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Am 15.11.19 um 04:34 schrieb Aaron Liu:<br>
> From: Huang Rui <<a href="mailto:ray.huang@amd.com">ray.huang@amd.com</a>><br>
><br>
> To align the kernel uapi change from Alex:<br>
><br>
> "Add a flag to the GEM_CREATE ioctl to create encrypted buffers. Buffers with<br>
> this flag set will be created with the TMZ bit set in the PTEs or engines<br>
> accessing them. This is required in order to properly access the data from the<br>
> engines."<br>
><br>
> We will use GEM_CREATE_ENCRYPTED flag for secure buffer allocation.<br>
><br>
> Signed-off-by: Huang Rui <<a href="mailto:ray.huang@amd.com">ray.huang@amd.com</a>><br>
> Reviewed-by: Alex Deucher <<a href="mailto:alexander.deucher@amd.com">alexander.deucher@amd.com</a>><br>
<br>
Please read up on how amdpu_drm.h is updated. The change must first land <br>
upstream and then the file is synced up somehow semi-automatic.<br>
<br>
Christian.<br>
<br>
> ---<br>
>   include/drm/amdgpu_drm.h | 5 +++++<br>
>   1 file changed, 5 insertions(+)<br>
><br>
> diff --git a/include/drm/amdgpu_drm.h b/include/drm/amdgpu_drm.h<br>
> index 5c28aa7..1a95e37 100644<br>
> --- a/include/drm/amdgpu_drm.h<br>
> +++ b/include/drm/amdgpu_drm.h<br>
> @@ -141,6 +141,11 @@ extern "C" {<br>
>    * releasing the memory<br>
>    */<br>
>   #define AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE      (1 << 9)<br>
> +/* Flag that BO will be encrypted and that the TMZ bit should be<br>
> + * set in the PTEs when mapping this buffer via GPUVM or<br>
> + * accessing it with various hw blocks<br>
> + */<br>
> +#define AMDGPU_GEM_CREATE_ENCRYPTED          (1 << 10)<br>
>   <br>
>   /* Hybrid specific */<br>
>   /* Flag that the memory allocation should be from top of domain */<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>