Lines Matching refs:to

5     Accelerator Power Interface), which is available to certain PCIe slots
7 protocol through PCIe that allow PCIe adapters to look like special
9 memory and generate page faults. As a result, the host interface to
10 an adapter running in CAPI mode does not require the data buffers to
11 be mapped to the device's memory (IOMMU bypass) nor does it require
12 memory to be pinned.
17 model, allowing for drivers to look similar to other native PCI
21 directly talk to a device (network or storage) bypassing the typical
23 user space application direct access to Flash storage.
36 - Any flash device (LUN) can be configured to be accessed as a
39 - Any flash device (LUN) can be configured to be accessed from
42 either raw access to the entire LUN (referred to as direct
43 or physical LUN access) or access to a kernel/AFU-mediated
44 partition of the LUN (referred to as virtual LUN access). The
53 granted to it by the kernel or hypervisor allowing it to perform AFU
56 initial setup before the user application is allowed to send requests
57 directly to the AFU.
78 Trusted Process to program the Provisioning and Control and Global
80 discovers all LUNs attached to the CXL Flash adapter and instantiates
85 written to a specification provided by the block library may get
86 access to the Flash from user space (without requiring a system call).
89 block library to enable this user space access. The driver supports
100 and the entire space for the LUN is available to the application.
103 data written to the block device will survive application exit and
111 Applications intending to get access to the CXL Flash from user
130 Users, such as the block library, that wish to interface with a flash
131 device (LUN) via user space access need to use the services provided
133 a file descriptor handle must first be obtained in order to establish
140 (herein referred to as fd1) that should be used for issuing the
151 to uniquely identify the context and its allocated resources. The
153 referred to as fd2) that is used by the block library to initiate
154 memory mapped I/O (via mmap()) to the CXL flash device and poll for
156 this driver and not the CXL kernel services to allow for intermediary
162 and fd2) that are provided back to the user:
166 to use the context id or file descriptor created by its parent
171 destroyed, the tokens are to be considered stale and subsequent
182 This ioctl is responsible for transitioning the LUN to direct
185 last logical block address (LBA) are returned to the user.
190 requests to use the LUN in a different mode are denied.
193 entry to the AFU's resource handle table. The index of the entry is
194 treated as a resource handle that is returned to the user. The user
195 is then able to use the handle to reference the LUN during I/O.
199 This ioctl is responsible for transitioning the LUN to virtual mode
202 block address (LBA) are returned to the user.
207 requests to use the LUN in a different mode are denied.
210 an entry to the AFU's resource handle table. The index of the entry
211 is treated as a resource handle that is returned to the user. The
212 user is then able to use the handle to reference the LUN during I/O.
215 would need to use the DK_CXLFLASH_VLUN_RESIZE ioctl to adjust the grow
216 the virtual LUN to a desired size. To avoid having to perform this
219 ioctl, such that when success is returned to the user, the
227 mode. Upon success, an updated last LBA is returned to the user
233 operating in the virtual mode and used to program a LUN translation
239 reference to either a physical or virtual LUN. This can be
243 made available to be used again.
246 is first resized to 0 to clear out and free the translation tables
254 success, all "tokens" which had been provided to the user from the
260 context to a more recently created context. It exists solely to
261 support maintaining user space access to storage after a process
263 will have access to the same LUNs via the same resource handle(s)
271 a context (via DK_CXLFLASH_ATTACH) and then using this ioctl to
272 perform the clone from the parent to the child.
275 translation tables are copied from the parent context to the child's
280 This ioctl is used to detect various changes such as the capacity of
283 cxlflash driver will report the changed state to the application.
285 The user calls in when they want to validate that a LUN hasn't been
286 changed in response to a check condition. As the user is operating out
289 behavior is to call in to this ioctl, indicating what they want to
296 This ioctl is used to drive recovery (if such an action is warranted)
300 User contexts are put into an error condition when the device needs to
303 architected behavior for a user is to call into this ioctl to recover
304 their context. A user may also call into this ioctl at any time to
306 from this ioctl, the user is expected to gracefully clean up their
314 This ioctl is used to switch a LUN from a mode where it is available
315 for file-system access (legacy), to a mode where it is set aside for
317 across multiple ports and adapters, this ioctl is used to uniquely