lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190327053137.15173-1-alastair@au1.ibm.com>
Date:   Wed, 27 Mar 2019 16:31:29 +1100
From:   "Alastair D'Silva" <alastair@....ibm.com>
To:     alastair@...ilva.org
Cc:     Frederic Barrat <fbarrat@...ux.ibm.com>,
        Andrew Donnellan <andrew.donnellan@....ibm.com>,
        Arnd Bergmann <arnd@...db.de>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org
Subject: [PATCH v4 0/7] Refactor OCXL driver to allow external drivers to use it

From: Alastair D'Silva <alastair@...ilva.org>

This series reworks the OpenCAPI driver to split frontend
(driver interactions) from backend (hardware interactions).

This allows external drivers to utilise the core of the
generic OpenCAPI driver to communicate with specific
OpenCAPI hardware.

This series is bisectable.

Changelog:
V4: 
  - For: 'ocxl: Create a clear delineation between ocxl backend & frontend'
      - Reword non-RCU comment to reflect info struct
      - Inline returns from err label in afu_open()
      - ocxl_file_make_(in)visibile & ocxl_sysfs_(un)register use info
        directly, rather than fetching in from the AFU. This, together with
        a delayed ocxl_afu_set_private(), make it clearer that
        ocxl_file_register() must succeed for cleanup code to be called
      - Remove stray ocxl_free_afu() prototype from header
  - For: 'ocxl: Allow external drivers to use OpenCAPI contexts'
      - Merge ocxl_context_init & ocxl_context_alloc
      - Add missing opaque struct ocxl_context 
  - For: 'ocxl: move event_fd handling to frontend'
      - Set missed free_private value in irq struct
      - Change goto unlock to fall-through comment
      - Clean stray whitespace
      - Mention that free_private can be NULL in ocxl_irq_set_handler docs
V3:
  - For: 'ocxl: Create a clear delineation between ocxl backend & frontend'
      - Integrate Frederick Barrat's suggestions
      - Further cleanup on error paths
      - Remove release handler for AFU private data
      - Make ocxl_file_make_(in)visibile static & call from ocxl_file_(un)register
V2:
  - Reorder patches as some required structs that were only available later
  - Add dev.release implementation for ocxl_file_info to address warning on
    driver unload (ocxl: Create a clear delineation...)
  - Set output var irq_id in ocxl_afu_irq_alloc (ocxl: afu_irq only deals...)
  - Bump copyright year (ocxl: Provide global MMIO accessors...,
        ocxl: Split pci.c)

Alastair D'Silva (7):
  ocxl: Split pci.c
  ocxl: Don't pass pci_dev around
  ocxl: Create a clear delineation between ocxl backend & frontend
  ocxl: Allow external drivers to use OpenCAPI contexts
  ocxl: afu_irq only deals with IRQ IDs, not offsets
  ocxl: move event_fd handling to frontend
  ocxl: Provide global MMIO accessors for external drivers

 drivers/misc/ocxl/Makefile        |   3 +-
 drivers/misc/ocxl/afu_irq.c       | 102 +++---
 drivers/misc/ocxl/context.c       |  31 +-
 drivers/misc/ocxl/core.c          | 574 ++++++++++++++++++++++++++++++
 drivers/misc/ocxl/file.c          | 177 ++++++---
 drivers/misc/ocxl/mmio.c          | 234 ++++++++++++
 drivers/misc/ocxl/ocxl_internal.h |  39 +-
 drivers/misc/ocxl/pci.c           | 565 ++---------------------------
 drivers/misc/ocxl/sysfs.c         |  54 +--
 drivers/misc/ocxl/trace.h         |  12 +-
 include/misc/ocxl.h               | 314 +++++++++++++++-
 11 files changed, 1390 insertions(+), 715 deletions(-)
 create mode 100644 drivers/misc/ocxl/core.c
 create mode 100644 drivers/misc/ocxl/mmio.c

-- 
2.20.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ