[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ac1026ba-6d29-2e28-e889-84ce2ab7e6ff@amazon.com>
Date: Mon, 11 May 2020 13:49:37 +0300
From: "Paraschiv, Andra-Irina" <andraprs@...zon.com>
To: "Herrenschmidt, Benjamin" <benh@...zon.com>,
"pavel@....cz" <pavel@....cz>
CC: "kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Woodhouse, David" <dwmw@...zon.co.uk>,
"Liguori, Anthony" <aliguori@...zon.com>,
"MacCarthaigh, Colm" <colmmacc@...zon.com>,
"Graf (AWS), Alexander" <graf@...zon.de>,
"ne-devel-upstream@...zon.com" <ne-devel-upstream@...zon.com>,
"pbonzini@...hat.com" <pbonzini@...hat.com>,
"Singh, Balbir" <sblbir@...zon.com>,
"van der Linden, Frank" <fllinden@...zon.com>,
"Smith, Stewart" <trawets@...zon.com>,
"Pohlack, Martin" <mpohlack@...zon.de>,
"Wilson, Matt" <msw@...zon.com>, "Dannowski, Uwe" <uwed@...zon.de>,
"Doebel, Bjoern" <doebel@...zon.de>
Subject: Re: [PATCH v1 00/15] Add support for Nitro Enclaves
On 10/05/2020 14:02, Herrenschmidt, Benjamin wrote:
> On Sat, 2020-05-09 at 21:21 +0200, Pavel Machek wrote:
>> On Fri 2020-05-08 10:00:27, Paraschiv, Andra-Irina wrote:
>>>
>>> On 07/05/2020 20:44, Pavel Machek wrote:
>>>> Hi!
>>>>
>>>>>> it uses its own memory and CPUs + its virtio-vsock emulated device for
>>>>>> communication with the primary VM.
>>>>>>
>>>>>> The memory and CPUs are carved out of the primary VM, they are dedicated
>>>>>> for the enclave. The Nitro hypervisor running on the host ensures memory
>>>>>> and CPU isolation between the primary VM and the enclave VM.
>>>>>>
>>>>>> These two components need to reflect the same state e.g. when the
>>>>>> enclave abstraction process (1) is terminated, the enclave VM (2) is
>>>>>> terminated as well.
>>>>>>
>>>>>> With regard to the communication channel, the primary VM has its own
>>>>>> emulated virtio-vsock PCI device. The enclave VM has its own emulated
>>>>>> virtio-vsock device as well. This channel is used, for example, to fetch
>>>>>> data in the enclave and then process it. An application that sets up the
>>>>>> vsock socket and connects or listens, depending on the use case, is then
>>>>>> developed to use this channel; this happens on both ends - primary VM
>>>>>> and enclave VM.
>>>>>>
>>>>>> Let me know if further clarifications are needed.
>>>>> Thanks, this is all useful. However can you please clarify the
>>>>> low-level details here?
>>>> Is the virtual machine manager open-source? If so, I guess pointer for sources
>>>> would be useful.
>>> Hi Pavel,
>>>
>>> Thanks for reaching out.
>>>
>>> The VMM that is used for the primary / parent VM is not open source.
>> Do we want to merge code that opensource community can not test?
> Hehe.. this isn't quite the story Pavel :)
>
> We merge support for proprietary hypervisors, this is no different. You
> can test it, well at least you'll be able to ... when AWS deploys the
> functionality. You don't need the hypervisor itself to be open source.
>
> In fact, in this case, it's not even low level invasive arch code like
> some of the above can be. It's a driver for a PCI device :-) Granted a
> virtual one. We merge drivers for PCI devices routinely without the RTL
> or firmware of those devices being open source.
>
> So yes, we probably want this if it's going to be a useful features to
> users when running on AWS EC2. (Disclaimer: I work for AWS these days).
Indeed, it will available for checking out how it works.
The discussions are ongoing here on the LKML - understanding the
context, clarifying items, sharing feedback and coming with codebase
updates and basic example flow of the ioctl interface usage. This all
helps with the path towards merging.
Thanks, Ben, for the follow-up.
Andra
Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. Lazar Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered in Romania. Registration number J22/2621/2005.
Powered by blists - more mailing lists