[PATCH 0/2] ocxl: Move SPA and TL definitions

christophe lombard clombard at linux.vnet.ibm.com
Fri Oct 11 20:10:01 AEDT 2019


On 11/10/2019 10:06, christophe lombard wrote:
> On 11/10/2019 00:34, Andrew Donnellan wrote:
>> On 10/10/19 2:11 am, christophe lombard wrote:
>>> This series moves the definition and the management of scheduled 
>>> process area
>>> (SPA) and of the templates (Transaction Layer) for an ocxl card, 
>>> using the
>>> OCAPI interface. The code is now located in the specific arch powerpc 
>>> platform.
>>> These patches will help for a futur implementation of the ocxl driver 
>>> in QEMU.
>>
>> Could you explain more about this?
>>
> 
> The Scheduled Processes Area and the configuration of the Transaction
> Layer are specific to the AFU and more generally to the Opencapi
> device.
> Running the ocxl module in a guest environment, and later in several 
> guests in parallel, using the same Opencapi device and the same AFus, 
> involves to have a common code handling the SPA. This explains why these 
> parts of the ocxl driver will move to arch powerpc platform running on 
> the host.
> 
> Thanks.
> 

Implementation of the ocxl driver running on a QEMU guest environment 
will be detailed in the following patches but basically, a new ocxl vfio 
driver, running in the host, will interact, in side, with the SPA, using 
the pnv_ api(s) and on the other hand will interact, through ioctl 
commands, with the guest(s). Ocxl, running in the guest, through hcalls 
(handled by QEMU) will configure the device and interact with the vfio 
through ioctl commands.

> 
>>
>> Andrew
>>
>>
>>>
>>> The Open Coherently Attached Processor Interface (OCAPI) is used to
>>> allow an Attached Functional Unit (AFU) to connect to the Processor
>>> Chip's system bus in a high speed and cache coherent manner.
>>>
>>> It builds on top of the existing ocxl driver.
>>>
>>> It has been tested in a bare-metal environment using the memcpy and
>>> the AFP AFUs.
>>>
>>> christophe lombard (2):
>>>    powerpc/powernv: ocxl move SPA definition
>>>    powerpc/powernv: ocxl move TL definition
>>>
>>>   arch/powerpc/include/asm/pnv-ocxl.h   |  30 +-
>>>   arch/powerpc/platforms/powernv/ocxl.c | 378 +++++++++++++++++++++++---
>>>   drivers/misc/ocxl/afu_irq.c           |   1 -
>>>   drivers/misc/ocxl/config.c            |  89 +-----
>>>   drivers/misc/ocxl/link.c              | 347 +++++++----------------
>>>   drivers/misc/ocxl/ocxl_internal.h     |  12 -
>>>   drivers/misc/ocxl/trace.h             |  34 +--
>>>   7 files changed, 467 insertions(+), 424 deletions(-)
>>>
>>
> 



More information about the Linuxppc-dev mailing list