Lines Matching +full:add +full:- +full:device

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright 2020-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
17 * DOC: Nitro Enclaves (NE) PCI device
21 * PCI_DEVICE_ID_NE - Nitro Enclaves PCI device id.
25 * PCI_BAR_NE - Nitro Enclaves PCI device MMIO BAR.
30 * DOC: Device registers in the NE PCI device MMIO BAR
34 * NE_ENABLE - (1 byte) Register to notify the device that the driver is using
42 * NE_VERSION - (2 bytes) Register to select the device run-time version
49 * NE_COMMAND - (4 bytes) Register to notify the device what command was
50 * requested (Write-Only).
55 * NE_EVTCNT - (4 bytes) Register to notify the driver that a reply or a device
56 * event is available (Read-Only):
57 * - Lower half - command reply counter
58 * - Higher half - out-of-band device event counter
71 * NE_SEND_DATA - (240 bytes) Buffer for sending the command request payload
77 * NE_RECV_DATA - (240 bytes) Buffer for receiving the command reply payload
78 * (Read-Only).
83 * DOC: Device MMIO buffer sizes
87 * NE_SEND_DATA_SIZE - Size of the send buffer, in bytes.
92 * NE_RECV_DATA_SIZE - Size of the receive buffer, in bytes.
97 * DOC: MSI-X interrupt vectors
101 * NE_VEC_REPLY - MSI-X vector used for command reply notification.
106 * NE_VEC_EVENT - MSI-X vector used for out-of-band events e.g. enclave crash.
111 * enum ne_pci_dev_cmd_type - Device command types.
118 * @SLOT_ADD_MEM: Add a memory region to an enclave slot.
119 * @SLOT_ADD_VCPU: Add a vCPU to an enclave slot.
123 * @SLOT_ADD_BULK_VCPUS: Add a number of vCPUs, not providing CPU ids.
143 * DOC: Device commands - payload structure for requests and replies.
147 * struct enclave_start_req - ENCLAVE_START request.
149 * @enclave_cid: Context ID (CID) for the enclave vsock device.
160 * struct enclave_get_slot_req - ENCLAVE_GET_SLOT request.
161 * @enclave_cid: Context ID (CID) for the enclave vsock device.
168 * struct enclave_stop_req - ENCLAVE_STOP request.
176 * struct slot_alloc_req - SLOT_ALLOC request.
184 * struct slot_free_req - SLOT_FREE request.
191 /* TODO: Add flags field to the request to add memory region. */
193 * struct slot_add_mem_req - SLOT_ADD_MEM request.
194 * @slot_uid: Slot unique id mapped to the slot to add the memory region to.
195 * @paddr: Physical address of the memory region to add to the slot.
196 * @size: Memory size, in bytes, of the memory region to add to the slot.
205 * struct slot_add_vcpu_req - SLOT_ADD_VCPU request.
206 * @slot_uid: Slot unique id mapped to the slot to add the vCPU to.
207 * @vcpu_id: vCPU ID of the CPU to add to the enclave.
217 * struct slot_count_req - SLOT_COUNT request.
225 * struct next_slot_req - NEXT_SLOT request.
233 * struct slot_info_req - SLOT_INFO request.
241 * struct slot_add_bulk_vcpus_req - SLOT_ADD_BULK_VCPUS request.
242 * @slot_uid: Slot unique id mapped to the slot to add vCPUs to.
243 * @nr_vcpus: Number of vCPUs to add to the slot.
251 * struct ne_pci_dev_cmd_reply - NE PCI device command reply.
279 * struct ne_pci_dev - Nitro Enclaves (NE) PCI device.
281 * PCI device.
283 * PCI device.
284 * @enclaves_list: List of the enclaves managed by the PCI device.
286 * @event_wq: Work queue for handling out-of-band events
290 * @iomem_base : MMIO region of the PCI device.
291 * @notify_work: Work item for every received out-of-band event.
292 * @pci_dev_mutex: Mutex for accessing the PCI device MMIO space.
293 * @pdev: PCI device data structure.
308 * ne_do_request() - Submit command request to the PCI device based on the command
310 * @pdev: PCI device to send the command to and receive the reply from.
311 * @cmd_type: Command type of the request sent to the PCI device.
328 /* Nitro Enclaves (NE) PCI device driver */