Re: [PATCH v1 02/15] nitro_enclaves: Define the PCI device interface

From: Paraschiv, Andra-Irina
Date: Thu Apr 23 2020 - 09:38:03 EST




On 22/04/2020 00:22, Paolo Bonzini wrote:
On 21/04/20 20:41, Andra Paraschiv wrote:
The Nitro Enclaves (NE) driver communicates with a new PCI device, that
is exposed to a virtual machine (VM) and handles commands meant for
handling enclaves lifetime e.g. creation, termination, setting memory
regions. The communication with the PCI device is handled using a MMIO
space and MSI-X interrupts.

This device communicates with the hypervisor on the host, where the VM
that spawned the enclave itself run, e.g. to launch a VM that is used
for the enclave.

Define the MMIO space of the PCI device, the commands that are
provided by this device. Add an internal data structure used as private
data for the PCI device driver and the functions for the PCI device init
/ uninit and command requests handling.

Signed-off-by: Alexandru-Catalin Vasile <lexnv@xxxxxxxxxx>
Signed-off-by: Alexandru Ciobotaru <alcioa@xxxxxxxxxx>
Signed-off-by: Andra Paraschiv <andraprs@xxxxxxxxxx>
---
.../virt/amazon/nitro_enclaves/ne_pci_dev.h | 266 ++++++++++++++++++
1 file changed, 266 insertions(+)
create mode 100644 drivers/virt/amazon/nitro_enclaves/ne_pci_dev.h
Can this be placed just in drivers/virt/nitro_enclaves, or
drivers/virt/enclave/nitro? It's not unlikely that this device be
implemented outside EC2 sooner or later, and there's nothing
Amazon-specific as far as I can see from the UAPI.

I can update the path to drivers/virt/nitro_enclaves.

The PCI device in the patch series is registered under Amazon PCI Vendor ID and it has this PCI Device ID - 0xe4c1.

Thanks,
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.