mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-01-13 11:33:58 +00:00
hv: ptirq: associate an irte with ptirq_remapping_info entry
For a ptirq_remapping_info entry, when build IRTE: - If the caller provides a valid IRTE, use the IRET - If the caller doesn't provide a valid IRTE, allocate a IRET when the entry doesn't have a valid IRTE, in this case, the IRET will be freed when free the entry. Tracked-On:#4831 Signed-off-by: Binbin Wu <binbin.wu@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
@@ -36,6 +36,7 @@
|
||||
#include <ept.h>
|
||||
#include <mmu.h>
|
||||
#include <logmsg.h>
|
||||
#include <vtd.h>
|
||||
#include "vpci_priv.h"
|
||||
|
||||
/**
|
||||
@@ -87,7 +88,8 @@ static void remap_one_vmsix_entry(const struct pci_vdev *vdev, uint32_t index)
|
||||
info.addr.full = vdev->msix.table_entries[index].addr;
|
||||
info.data.full = vdev->msix.table_entries[index].data;
|
||||
|
||||
ret = ptirq_prepare_msix_remap(vpci2vm(vdev->vpci), vdev->bdf.value, vdev->pdev->bdf.value, (uint16_t)index, &info);
|
||||
ret = ptirq_prepare_msix_remap(vpci2vm(vdev->vpci), vdev->bdf.value, vdev->pdev->bdf.value,
|
||||
(uint16_t)index, &info, INVALID_IRTE_ID);
|
||||
if (ret == 0) {
|
||||
/* Write the table entry to the physical structure */
|
||||
pentry = get_msix_table_entry(vdev, index);
|
||||
|
||||
Reference in New Issue
Block a user