2021-08-26 17:37:00

by Paraschiv, Andra-Irina

[permalink] [raw]
Subject: [PATCH v1 2/3] nitro_enclaves: Update documentation for Arm support

Add references for hugepages and booting steps for Arm.

Signed-off-by: Andra Paraschiv <[email protected]>
---
Documentation/virt/ne_overview.rst | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/Documentation/virt/ne_overview.rst b/Documentation/virt/ne_overview.rst
index 39b0c8fe2654a..2777da1fb0ad1 100644
--- a/Documentation/virt/ne_overview.rst
+++ b/Documentation/virt/ne_overview.rst
@@ -43,8 +43,8 @@ for the enclave VM. An enclave does not have persistent storage attached.
The memory regions carved out of the primary VM and given to an enclave need to
be aligned 2 MiB / 1 GiB physically contiguous memory regions (or multiple of
this size e.g. 8 MiB). The memory can be allocated e.g. by using hugetlbfs from
-user space [2][3]. The memory size for an enclave needs to be at least 64 MiB.
-The enclave memory and CPUs need to be from the same NUMA node.
+user space [2][3][7]. The memory size for an enclave needs to be at least
+64 MiB. The enclave memory and CPUs need to be from the same NUMA node.

An enclave runs on dedicated cores. CPU 0 and its CPU siblings need to remain
available for the primary VM. A CPU pool has to be set for NE purposes by an
@@ -61,7 +61,7 @@ device is placed in memory below the typical 4 GiB.
The application that runs in the enclave needs to be packaged in an enclave
image together with the OS ( e.g. kernel, ramdisk, init ) that will run in the
enclave VM. The enclave VM has its own kernel and follows the standard Linux
-boot protocol [6].
+boot protocol [6][8].

The kernel bzImage, the kernel command line, the ramdisk(s) are part of the
Enclave Image Format (EIF); plus an EIF header including metadata such as magic
@@ -93,3 +93,5 @@ enclave process can exit.
[4] https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
[5] https://man7.org/linux/man-pages/man7/vsock.7.html
[6] https://www.kernel.org/doc/html/latest/x86/boot.html
+[7] https://www.kernel.org/doc/html/latest/arm64/hugetlbpage.html
+[8] https://www.kernel.org/doc/html/latest/arm64/booting.html
--
2.20.1 (Apple Git-117)




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.


2021-08-27 07:23:17

by Stefano Garzarella

[permalink] [raw]
Subject: Re: [PATCH v1 2/3] nitro_enclaves: Update documentation for Arm support

On Thu, Aug 26, 2021 at 08:34:50PM +0300, Andra Paraschiv wrote:
>Add references for hugepages and booting steps for Arm.
>
>Signed-off-by: Andra Paraschiv <[email protected]>
>---
> Documentation/virt/ne_overview.rst | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)

If you need to respin, maybe we can add a little section with supported
architectures (x86, ARM64).

Stefano

>
>diff --git a/Documentation/virt/ne_overview.rst b/Documentation/virt/ne_overview.rst
>index 39b0c8fe2654a..2777da1fb0ad1 100644
>--- a/Documentation/virt/ne_overview.rst
>+++ b/Documentation/virt/ne_overview.rst
>@@ -43,8 +43,8 @@ for the enclave VM. An enclave does not have persistent storage attached.
> The memory regions carved out of the primary VM and given to an enclave need to
> be aligned 2 MiB / 1 GiB physically contiguous memory regions (or multiple of
> this size e.g. 8 MiB). The memory can be allocated e.g. by using hugetlbfs from
>-user space [2][3]. The memory size for an enclave needs to be at least 64 MiB.
>-The enclave memory and CPUs need to be from the same NUMA node.
>+user space [2][3][7]. The memory size for an enclave needs to be at least
>+64 MiB. The enclave memory and CPUs need to be from the same NUMA node.
>
> An enclave runs on dedicated cores. CPU 0 and its CPU siblings need to remain
> available for the primary VM. A CPU pool has to be set for NE purposes by an
>@@ -61,7 +61,7 @@ device is placed in memory below the typical 4 GiB.
> The application that runs in the enclave needs to be packaged in an enclave
> image together with the OS ( e.g. kernel, ramdisk, init ) that will run in the
> enclave VM. The enclave VM has its own kernel and follows the standard Linux
>-boot protocol [6].
>+boot protocol [6][8].
>
> The kernel bzImage, the kernel command line, the ramdisk(s) are part of the
> Enclave Image Format (EIF); plus an EIF header including metadata such as magic
>@@ -93,3 +93,5 @@ enclave process can exit.
> [4] https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
> [5] https://man7.org/linux/man-pages/man7/vsock.7.html
> [6] https://www.kernel.org/doc/html/latest/x86/boot.html
>+[7] https://www.kernel.org/doc/html/latest/arm64/hugetlbpage.html
>+[8] https://www.kernel.org/doc/html/latest/arm64/booting.html
>--
>2.20.1 (Apple Git-117)
>
>
>
>
>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.
>

2021-08-27 09:37:59

by Paraschiv, Andra-Irina

[permalink] [raw]
Subject: Re: [PATCH v1 2/3] nitro_enclaves: Update documentation for Arm support



On 27/08/2021 10:21, Stefano Garzarella wrote:
> On Thu, Aug 26, 2021 at 08:34:50PM +0300, Andra Paraschiv wrote:
>> Add references for hugepages and booting steps for Arm.
>>
>> Signed-off-by: Andra Paraschiv <[email protected]>
>> ---
>> Documentation/virt/ne_overview.rst | 8 +++++---
>> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> If you need to respin, maybe we can add a little section with
> supported architectures (x86, ARM64).
>

Sure, I can add this info.

Thanks, Stefano, for review and ack.

Andra

>
>>
>> diff --git a/Documentation/virt/ne_overview.rst
>> b/Documentation/virt/ne_overview.rst
>> index 39b0c8fe2654a..2777da1fb0ad1 100644
>> --- a/Documentation/virt/ne_overview.rst
>> +++ b/Documentation/virt/ne_overview.rst
>> @@ -43,8 +43,8 @@ for the enclave VM. An enclave does not have
>> persistent storage attached.
>> The memory regions carved out of the primary VM and given to an
>> enclave need to
>> be aligned 2 MiB / 1 GiB physically contiguous memory regions (or
>> multiple of
>> this size e.g. 8 MiB). The memory can be allocated e.g. by using
>> hugetlbfs from
>> -user space [2][3]. The memory size for an enclave needs to be at
>> least 64 MiB.
>> -The enclave memory and CPUs need to be from the same NUMA node.
>> +user space [2][3][7]. The memory size for an enclave needs to be at
>> least
>> +64 MiB. The enclave memory and CPUs need to be from the same NUMA node.
>>
>> An enclave runs on dedicated cores. CPU 0 and its CPU siblings need
>> to remain
>> available for the primary VM. A CPU pool has to be set for NE
>> purposes by an
>> @@ -61,7 +61,7 @@ device is placed in memory below the typical 4 GiB.
>> The application that runs in the enclave needs to be packaged in an
>> enclave
>> image together with the OS ( e.g. kernel, ramdisk, init ) that will
>> run in the
>> enclave VM. The enclave VM has its own kernel and follows the
>> standard Linux
>> -boot protocol [6].
>> +boot protocol [6][8].
>>
>> The kernel bzImage, the kernel command line, the ramdisk(s) are part
>> of the
>> Enclave Image Format (EIF); plus an EIF header including metadata
>> such as magic
>> @@ -93,3 +93,5 @@ enclave process can exit.
>> [4]
>> https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
>> [5] https://man7.org/linux/man-pages/man7/vsock.7.html
>> [6] https://www.kernel.org/doc/html/latest/x86/boot.html
>> +[7] https://www.kernel.org/doc/html/latest/arm64/hugetlbpage.html
>> +[8] https://www.kernel.org/doc/html/latest/arm64/booting.html
>> --
>> 2.20.1 (Apple Git-117)
>>
>>
>>
>>
>> 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.
>>
>




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.