• Andra Paraschiv's avatar
    nitro_enclaves: Handle PCI device command requests · ad2b6980
    Andra Paraschiv authored
    The Nitro Enclaves PCI device exposes a MMIO space that this driver
    uses to submit command requests and to receive command replies e.g. for
    enclave creation / termination or setting enclave resources.
    
    Add logic for handling PCI device command requests based on the given
    command type.
    
    Register an MSI-X interrupt vector for command reply notifications to
    handle this type of communication events.
    
    Changelog
    
    v9 -> v10
    
    * Update commit message to include the changelog before the SoB tag(s).
    
    v8 -> v9
    
    * No changes.
    
    v7 -> v8
    
    * Update function signature for submit request and retrive reply
      functions as they only returned 0, no error code.
    * Include command type value in the error logs of ne_do_request().
    
    v6 -> v7
    
    * No changes.
    
    v5 -> v6
    
    * Update documentation to kernel-doc format.
    
    v4 -> v5
    
    * Remove sanity checks for situations that shouldn't happen, only if
      buggy system or broken logic at all.
    
    v3 -> v4
    
    * Use dev_err instead of custom NE log pattern.
    * Return IRQ_NONE when interrupts are not handled.
    
    v2 -> v3
    
    * Remove the WARN_ON calls.
    * Update static calls sanity checks.
    * Remove "ratelimited" from the logs that are not in the ioctl call
      paths.
    
    v1 -> v2
    
    * Add log pattern for NE.
    * Remove the BUG_ON calls.
    * Update goto labels to match their purpose.
    * Add fix for kbuild report:
      https://lore.kernel.org/lkml/202004231644.xTmN4Z1z%25lkp@intel.com/Reviewed-by: default avatarAlexander Graf <graf@amazon.com>
    Signed-off-by: default avatarAlexandru-Catalin Vasile <lexnv@amazon.com>
    Signed-off-by: default avatarAndra Paraschiv <andraprs@amazon.com>
    Link: https://lore.kernel.org/r/20200921121732.44291-6-andraprs@amazon.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ad2b6980
ne_pci_dev.c 11.8 KB