Skip to content

Commit

Permalink
vbar:msi:msix: export vbar/msi/msix access checking
Browse files Browse the repository at this point in the history
Change vbar/msi/msix access checking from private to public.

Tracked-On: #3241
Signed-off-by: Yin Fengwei <fengwei.yin@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
  • Loading branch information
fyin1 authored and acrnsi committed Jul 15, 2019
1 parent c2d25aa commit 37de8f0
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 37 deletions.
22 changes: 0 additions & 22 deletions hypervisor/dm/vpci/vmsi.c
Expand Up @@ -35,28 +35,6 @@
#include "vpci_priv.h"


/**
* @pre vdev != NULL
*/
static inline bool has_msi_cap(const struct pci_vdev *vdev)
{
return (vdev->msi.capoff != 0U);
}

/**
* @pre vdev != NULL
*/
static inline bool msicap_access(const struct pci_vdev *vdev, uint32_t offset)
{
bool ret = false;

if (has_msi_cap(vdev)) {
ret = in_range(offset, vdev->msi.capoff, vdev->msi.caplen);
}

return ret;
}

/**
* @pre vdev != NULL
* @pre vdev->vpci != NULL
Expand Down
15 changes: 0 additions & 15 deletions hypervisor/dm/vpci/vmsix.c
Expand Up @@ -38,21 +38,6 @@
#include <logmsg.h>
#include "vpci_priv.h"


/**
* @pre vdev != NULL
*/
static inline bool msixcap_access(const struct pci_vdev *vdev, uint32_t offset)
{
bool ret = false;

if (has_msix_cap(vdev)) {
ret = in_range(offset, vdev->msix.capoff, vdev->msix.caplen);
}

return ret;
}

/**
* @pre vdev != NULL
*/
Expand Down
32 changes: 32 additions & 0 deletions hypervisor/dm/vpci/vpci_priv.h
Expand Up @@ -93,6 +93,38 @@ static inline bool has_msix_cap(const struct pci_vdev *vdev)
return (vdev->msix.capoff != 0U);
}

/**
* @pre vdev != NULL
*/
static inline bool msixcap_access(const struct pci_vdev *vdev, uint32_t offset)
{
return (has_msix_cap(vdev) && in_range(offset, vdev->msix.capoff, vdev->msix.caplen));
}

/**
* @pre vdev != NULL
*/
static inline bool vbar_access(const struct pci_vdev *vdev, uint32_t offset, uint32_t bytes)
{
return (is_bar_offset(vdev->nr_bars, offset) && (bytes == 4U) && ((offset & 0x3U) == 0U));
}

/**
* @pre vdev != NULL
*/
static inline bool has_msi_cap(const struct pci_vdev *vdev)
{
return (vdev->msi.capoff != 0U);
}

/**
* @pre vdev != NULL
*/
static inline bool msicap_access(const struct pci_vdev *vdev, uint32_t offset)
{
return (has_msi_cap(vdev) && in_range(offset, vdev->msi.capoff, vdev->msi.caplen));
}

/**
* @pre vdev != NULL
*/
Expand Down

0 comments on commit 37de8f0

Please sign in to comment.