Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp1328330pxb; Fri, 27 Aug 2021 06:35:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxN7xnigG2eYlCIoSgJglWDs0VE10kT4/iM3vUepSgQwqR8Qm51CGwrLIwCLGdUPCbhZEBQ X-Received: by 2002:aa7:cd92:: with SMTP id x18mr9670761edv.325.1630071318802; Fri, 27 Aug 2021 06:35:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630071318; cv=none; d=google.com; s=arc-20160816; b=byehBUyiUb6IUBHMDlna01WfJEPKTh4W5Hdxf3TmXIn4rAhd5UBUgAr+ZBM6qfbDpO wD5e71itWNv0mXcFVMqIvj/i/IRUAjw7xLyoyJmGiXQVJ3LF/TitzAZV5YUPvT+cVb55 vstMuYIxWM5j7LzqpsANCPvofpOhc8gTKd9W0uzbLQw1kKo6GGNIrNnfq47GClqNmvUD 8B0FpIQPKLy/FLU0fyAVsYi2Qs91AbvuLbv3A1fLLain69Xt0liTEFsUBwNkz7qsNrJD DX6B5RkusUEz5yt4jvaPvXCSruWz6wykwLHUZKbeYCnX/hMtnzWFyR+/8n6Dih0GrgCv gEag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=13gdSUSTjJs/ViYAWMGsJ2rsmzPqo9NDHMscb4elG0s=; b=QDiDgJkE+bUOn1l5izzbZNliaYOgxVb4fb2Ykvfk4QHUrjhAmVZtkOWA9bcD6F7Wsn W1t+nCe5SN7847IfCjDkdynEOHG2Yk1oIWGAysQn+g3TP1jXFOIQz75/tZp/Zt6myDip b7q+o6mBIr7pfSyJJI/pmM/0GxPvIOFZebpiBG29OleLoyN/ZVMgDjALt9N+LKbpnL61 Jm8qYJXGN8W3nl4akVxkzy4HpfIwTSnpUHwT0ZSmWj2YkTxTHyvRBd1pwCCmFtgvfq22 7GGwb+xQx5ryUrjtBk+9Bgj773/wItZMinCTE5lkKi6Gm5hq4d7pfLNT3vEVZi5G+2O8 1uQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=ApROaPDB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g25si6278117edy.593.2021.08.27.06.34.55; Fri, 27 Aug 2021 06:35:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=ApROaPDB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245260AbhH0Ndy (ORCPT + 99 others); Fri, 27 Aug 2021 09:33:54 -0400 Received: from smtp-fw-9102.amazon.com ([207.171.184.29]:29004 "EHLO smtp-fw-9102.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245275AbhH0Ndx (ORCPT ); Fri, 27 Aug 2021 09:33:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1630071185; x=1661607185; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=13gdSUSTjJs/ViYAWMGsJ2rsmzPqo9NDHMscb4elG0s=; b=ApROaPDB3Wzrq2ueRqBM5ldPw1PovIwvgw16MFqDcHcLxffMjjbLDrva B7xOqyP8KGcK22MJMtOyTAmEkKdg0htfBp4JbNKLniRml0jeh8f614tVX zW63Hu4YSBPiCs7DeerqnSSSL+Rode3pyI00u6J51JeYEt7/5uyyA5H0G 8=; X-IronPort-AV: E=Sophos;i="5.84,356,1620691200"; d="scan'208";a="155617234" Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO email-inbound-relay-2b-5bdc5131.us-west-2.amazon.com) ([10.25.36.214]) by smtp-border-fw-9102.sea19.amazon.com with ESMTP; 27 Aug 2021 13:32:57 +0000 Received: from EX13D16EUB003.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-2b-5bdc5131.us-west-2.amazon.com (Postfix) with ESMTPS id 9615DA262C; Fri, 27 Aug 2021 13:32:55 +0000 (UTC) Received: from 38f9d34ed3b1.ant.amazon.com (10.43.161.176) by EX13D16EUB003.ant.amazon.com (10.43.166.99) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Fri, 27 Aug 2021 13:32:49 +0000 From: Andra Paraschiv To: linux-kernel CC: Alexandru Ciobotaru , Greg KH , Kamal Mostafa , "Alexandru Vasile" , Paolo Bonzini , "Stefano Garzarella" , Stefan Hajnoczi , Vitaly Kuznetsov , kvm , ne-devel-upstream , Andra Paraschiv Subject: [PATCH v2 2/7] nitro_enclaves: Update documentation for Arm64 support Date: Fri, 27 Aug 2021 16:32:25 +0300 Message-ID: <20210827133230.29816-3-andraprs@amazon.com> X-Mailer: git-send-email 2.20.1 (Apple Git-117) In-Reply-To: <20210827133230.29816-1-andraprs@amazon.com> References: <20210827133230.29816-1-andraprs@amazon.com> MIME-Version: 1.0 X-Originating-IP: [10.43.161.176] X-ClientProxiedBy: EX13d09UWA004.ant.amazon.com (10.43.160.158) To EX13D16EUB003.ant.amazon.com (10.43.166.99) Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add references for hugepages and booting steps for Arm64. Include info about the current supported architectures for the NE kernel driver. Changelog v1 -> v2 * Add information about supported architectures for the NE kernel driver. Signed-off-by: Andra Paraschiv --- Documentation/virt/ne_overview.rst | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/Documentation/virt/ne_overview.rst b/Documentation/virt/ne_overview.rst index 39b0c8fe2654a..74c2f5919c886 100644 --- a/Documentation/virt/ne_overview.rst +++ b/Documentation/virt/ne_overview.rst @@ -14,12 +14,15 @@ instances [1]. For example, an application that processes sensitive data and runs in a VM, can be separated from other applications running in the same VM. This application then runs in a separate VM than the primary VM, namely an enclave. +It runs alongside the VM that spawned it. This setup matches low latency +applications needs. -An enclave runs alongside the VM that spawned it. This setup matches low latency -applications needs. The resources that are allocated for the enclave, such as -memory and CPUs, are carved out of the primary VM. Each enclave is mapped to a -process running in the primary VM, that communicates with the NE driver via an -ioctl interface. +The current supported architectures for the NE kernel driver, available in the +upstream Linux kernel, are x86 and ARM64. + +The resources that are allocated for the enclave, such as memory and CPUs, are +carved out of the primary VM. Each enclave is mapped to a process running in the +primary VM, that communicates with the NE kernel driver via an ioctl interface. In this sense, there are two components: @@ -43,8 +46,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 +64,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 +96,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.