diff --git a/hypervisor/arch/x86/assign.c b/hypervisor/arch/x86/assign.c index 1598a8838..22627f40d 100644 --- a/hypervisor/arch/x86/assign.c +++ b/hypervisor/arch/x86/assign.c @@ -15,15 +15,15 @@ * @pre: vm must be NULL when lookup by physical sid, otherwise, * vm must not be NULL when lookup by virtual sid. */ -static inline struct ptdev_remapping_info * +static inline struct ptirq_remapping_info * ptdev_lookup_entry_by_sid(uint32_t intr_type, const union source_id *sid,const struct acrn_vm *vm) { uint16_t idx; - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; for (idx = 0U; idx < CONFIG_MAX_PT_IRQ_ENTRIES; idx++) { - entry = &ptdev_irq_entries[idx]; + entry = &ptirq_entries[idx]; if (!is_entry_active(entry)) { continue; } @@ -39,10 +39,10 @@ ptdev_lookup_entry_by_sid(uint32_t intr_type, return NULL; } -static inline struct ptdev_remapping_info * +static inline struct ptirq_remapping_info * ptdev_lookup_entry_by_vpin(struct acrn_vm *vm, uint8_t virt_pin, bool pic_pin) { - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; if (pic_pin) { entry = vm->arch_vm.vpic.vpin_to_pt_entry[virt_pin]; @@ -79,7 +79,7 @@ static uint64_t calculate_logical_dest_mask(uint64_t pdmask) return dest_mask; } -static void ptdev_build_physical_msi(struct acrn_vm *vm, struct ptdev_msi_info *info, +static void ptdev_build_physical_msi(struct acrn_vm *vm, struct ptirq_msi_info *info, uint32_t vector) { uint64_t vdmask, pdmask, dest_mask; @@ -116,7 +116,7 @@ static void ptdev_build_physical_msi(struct acrn_vm *vm, struct ptdev_msi_info * } static union ioapic_rte -ptdev_build_physical_rte(struct acrn_vm *vm, struct ptdev_remapping_info *entry) +ptdev_build_physical_rte(struct acrn_vm *vm, struct ptirq_remapping_info *entry) { union ioapic_rte rte; uint32_t phys_irq = entry->allocated_pirq; @@ -199,10 +199,10 @@ ptdev_build_physical_rte(struct acrn_vm *vm, struct ptdev_remapping_info *entry) * - if the entry already be added by vm0, then change the owner to current vm * - if the entry already be added by other vm, return NULL */ -static struct ptdev_remapping_info *add_msix_remapping(struct acrn_vm *vm, +static struct ptirq_remapping_info *add_msix_remapping(struct acrn_vm *vm, uint16_t virt_bdf, uint16_t phys_bdf, uint32_t entry_nr) { - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; DEFINE_MSI_SID(phys_sid, phys_bdf, entry_nr); DEFINE_MSI_SID(virt_sid, virt_bdf, entry_nr); @@ -252,7 +252,7 @@ static struct ptdev_remapping_info *add_msix_remapping(struct acrn_vm *vm, static void remove_msix_remapping(const struct acrn_vm *vm, uint16_t virt_bdf, uint32_t entry_nr) { - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; DEFINE_MSI_SID(virt_sid, virt_bdf, entry_nr); entry = ptdev_lookup_entry_by_sid(PTDEV_INTR_MSI, &virt_sid, vm); @@ -279,11 +279,11 @@ remove_msix_remapping(const struct acrn_vm *vm, uint16_t virt_bdf, uint32_t entr * - if the entry already be added by vm0, then change the owner to current vm * - if the entry already be added by other vm, return NULL */ -static struct ptdev_remapping_info *add_intx_remapping(struct acrn_vm *vm, uint8_t virt_pin, +static struct ptirq_remapping_info *add_intx_remapping(struct acrn_vm *vm, uint8_t virt_pin, uint8_t phys_pin, bool pic_pin) { - struct ptdev_remapping_info *entry; - enum ptdev_vpin_source vpin_src = pic_pin ? PTDEV_VPIN_PIC : PTDEV_VPIN_IOAPIC; + struct ptirq_remapping_info *entry; + enum ptirq_vpin_source vpin_src = pic_pin ? PTDEV_VPIN_PIC : PTDEV_VPIN_IOAPIC; DEFINE_IOAPIC_SID(phys_sid, phys_pin, 0); DEFINE_IOAPIC_SID(virt_sid, virt_pin, vpin_src); uint32_t phys_irq = pin_to_irq(phys_pin); @@ -346,7 +346,7 @@ static struct ptdev_remapping_info *add_intx_remapping(struct acrn_vm *vm, uint8 static void remove_intx_remapping(struct acrn_vm *vm, uint8_t virt_pin, bool pic_pin) { uint32_t phys_irq; - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; if ((!pic_pin && virt_pin >= vioapic_pincount(vm)) || (pic_pin && virt_pin >= vpic_pincount())) { @@ -382,7 +382,7 @@ static void remove_intx_remapping(struct acrn_vm *vm, uint8_t virt_pin, bool pic } static void ptdev_intr_handle_irq(struct acrn_vm *vm, - const struct ptdev_remapping_info *entry) + const struct ptirq_remapping_info *entry) { const union source_id *virt_sid = &entry->virt_sid; switch (virt_sid->intx_id.src) { @@ -452,8 +452,8 @@ void ptdev_softirq(uint16_t pcpu_id) struct acrn_vm *vm = vcpu->vm; while (1) { - struct ptdev_remapping_info *entry = ptdev_dequeue_softirq(vm); - struct ptdev_msi_info *msi; + struct ptirq_remapping_info *entry = ptdev_dequeue_softirq(vm); + struct ptirq_msi_info *msi; if (entry == NULL) { break; @@ -489,10 +489,10 @@ void ptdev_softirq(uint16_t pcpu_id) } void ptdev_intx_ack(struct acrn_vm *vm, uint8_t virt_pin, - enum ptdev_vpin_source vpin_src) + enum ptirq_vpin_source vpin_src) { uint32_t phys_irq; - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; bool pic_pin = (vpin_src == PTDEV_VPIN_PIC); entry = ptdev_lookup_entry_by_vpin(vm, virt_pin, pic_pin); @@ -536,9 +536,9 @@ void ptdev_intx_ack(struct acrn_vm *vm, uint8_t virt_pin, * user must provide bdf and entry_nr */ int ptdev_msix_remap(struct acrn_vm *vm, uint16_t virt_bdf, - uint16_t entry_nr, struct ptdev_msi_info *info) + uint16_t entry_nr, struct ptirq_msi_info *info) { - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; DEFINE_MSI_SID(virt_sid, virt_bdf, entry_nr); /* @@ -591,7 +591,7 @@ END: } static void activate_physical_ioapic(struct acrn_vm *vm, - struct ptdev_remapping_info *entry) + struct ptirq_remapping_info *entry) { union ioapic_rte rte; uint32_t phys_irq = entry->allocated_pirq; @@ -624,9 +624,9 @@ static void activate_physical_ioapic(struct acrn_vm *vm, * or vPIC */ int ptdev_intx_pin_remap(struct acrn_vm *vm, uint8_t virt_pin, - enum ptdev_vpin_source vpin_src) + enum ptirq_vpin_source vpin_src) { - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; bool need_switch_vpin_src = false; DEFINE_IOAPIC_SID(virt_sid, virt_pin, vpin_src); bool pic_pin = (vpin_src == PTDEV_VPIN_PIC); @@ -732,7 +732,7 @@ END: int ptdev_add_intx_remapping(struct acrn_vm *vm, uint8_t virt_pin, uint8_t phys_pin, bool pic_pin) { - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; spinlock_obtain(&ptdev_lock); entry = add_intx_remapping(vm, virt_pin, phys_pin, pic_pin); @@ -759,7 +759,7 @@ void ptdev_remove_intx_remapping(struct acrn_vm *vm, uint8_t virt_pin, bool pic_ int ptdev_add_msix_remapping(struct acrn_vm *vm, uint16_t virt_bdf, uint16_t phys_bdf, uint32_t vector_count) { - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; uint32_t i; for (i = 0U; i < vector_count; i++) { diff --git a/hypervisor/common/ptdev.c b/hypervisor/common/ptdev.c index 12caf22c5..329936aa2 100644 --- a/hypervisor/common/ptdev.c +++ b/hypervisor/common/ptdev.c @@ -8,31 +8,31 @@ #include #include -#define PTDEV_BITMAP_ARRAY_SIZE INT_DIV_ROUNDUP(CONFIG_MAX_PT_IRQ_ENTRIES, 64U) -struct ptdev_remapping_info ptdev_irq_entries[CONFIG_MAX_PT_IRQ_ENTRIES]; -static uint64_t ptdev_entry_bitmaps[PTDEV_BITMAP_ARRAY_SIZE]; +#define PTIRQ_BITMAP_ARRAY_SIZE INT_DIV_ROUNDUP(CONFIG_MAX_PT_IRQ_ENTRIES, 64U) +struct ptirq_remapping_info ptirq_entries[CONFIG_MAX_PT_IRQ_ENTRIES]; +static uint64_t ptirq_entry_bitmaps[PTIRQ_BITMAP_ARRAY_SIZE]; spinlock_t ptdev_lock; -bool is_entry_active(const struct ptdev_remapping_info *entry) +bool is_entry_active(const struct ptirq_remapping_info *entry) { return atomic_load32(&entry->active) == ACTIVE_FLAG; } static inline uint16_t alloc_ptdev_entry_id(void) { - uint16_t id = (uint16_t)ffz64_ex(ptdev_entry_bitmaps, CONFIG_MAX_PT_IRQ_ENTRIES); + uint16_t id = (uint16_t)ffz64_ex(ptirq_entry_bitmaps, CONFIG_MAX_PT_IRQ_ENTRIES); while (id < CONFIG_MAX_PT_IRQ_ENTRIES) { - if (!bitmap_test_and_set_lock((id & 0x3FU), &ptdev_entry_bitmaps[id >> 6U])) { + if (!bitmap_test_and_set_lock((id & 0x3FU), &ptirq_entry_bitmaps[id >> 6U])) { return id; } - id = (uint16_t)ffz64_ex(ptdev_entry_bitmaps, CONFIG_MAX_PT_IRQ_ENTRIES); + id = (uint16_t)ffz64_ex(ptirq_entry_bitmaps, CONFIG_MAX_PT_IRQ_ENTRIES); } return INVALID_PTDEV_ENTRY_ID; } -static void ptdev_enqueue_softirq(struct ptdev_remapping_info *entry) +static void ptdev_enqueue_softirq(struct ptirq_remapping_info *entry) { uint64_t rflags; @@ -50,23 +50,23 @@ static void ptdev_enqueue_softirq(struct ptdev_remapping_info *entry) static void ptdev_intr_delay_callback(void *data) { - struct ptdev_remapping_info *entry = - (struct ptdev_remapping_info *) data; + struct ptirq_remapping_info *entry = + (struct ptirq_remapping_info *) data; ptdev_enqueue_softirq(entry); } -struct ptdev_remapping_info* +struct ptirq_remapping_info* ptdev_dequeue_softirq(struct acrn_vm *vm) { uint64_t rflags; - struct ptdev_remapping_info *entry = NULL; + struct ptirq_remapping_info *entry = NULL; spinlock_irqsave_obtain(&vm->softirq_dev_lock, &rflags); while (!list_empty(&vm->softirq_dev_entry_list)) { entry = get_first_item(&vm->softirq_dev_entry_list, - struct ptdev_remapping_info, softirq_node); + struct ptirq_remapping_info, softirq_node); list_del_init(&entry->softirq_node); @@ -85,10 +85,10 @@ ptdev_dequeue_softirq(struct acrn_vm *vm) return entry; } -struct ptdev_remapping_info * +struct ptirq_remapping_info * alloc_entry(struct acrn_vm *vm, uint32_t intr_type) { - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; uint16_t ptdev_id = alloc_ptdev_entry_id(); if (ptdev_id >= CONFIG_MAX_PT_IRQ_ENTRIES) { @@ -96,8 +96,8 @@ alloc_entry(struct acrn_vm *vm, uint32_t intr_type) return NULL; } - entry = &ptdev_irq_entries[ptdev_id]; - (void)memset((void *)entry, 0U, sizeof(struct ptdev_remapping_info)); + entry = &ptirq_entries[ptdev_id]; + (void)memset((void *)entry, 0U, sizeof(struct ptirq_remapping_info)); entry->ptdev_entry_id = ptdev_id; entry->intr_type = intr_type; entry->vm = vm; @@ -114,7 +114,7 @@ alloc_entry(struct acrn_vm *vm, uint32_t intr_type) } void -release_entry(struct ptdev_remapping_info *entry) +release_entry(struct ptirq_remapping_info *entry) { uint64_t rflags; @@ -126,17 +126,17 @@ release_entry(struct ptdev_remapping_info *entry) list_del_init(&entry->softirq_node); spinlock_irqrestore_release(&entry->vm->softirq_dev_lock, rflags); atomic_clear32(&entry->active, ACTIVE_FLAG); - bitmap_clear_nolock((entry->ptdev_entry_id) & 0x3FU, &ptdev_entry_bitmaps[(entry->ptdev_entry_id) >> 6U]); + bitmap_clear_nolock((entry->ptdev_entry_id) & 0x3FU, &ptirq_entry_bitmaps[(entry->ptdev_entry_id) >> 6U]); } static void release_all_entries(const struct acrn_vm *vm) { - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; uint16_t idx; for (idx = 0U; idx < CONFIG_MAX_PT_IRQ_ENTRIES; idx++) { - entry = &ptdev_irq_entries[idx]; + entry = &ptirq_entries[idx]; if (entry->vm == vm) { release_entry(entry); } @@ -146,8 +146,8 @@ release_all_entries(const struct acrn_vm *vm) /* interrupt context */ static void ptdev_interrupt_handler(__unused uint32_t irq, void *data) { - struct ptdev_remapping_info *entry = - (struct ptdev_remapping_info *) data; + struct ptirq_remapping_info *entry = + (struct ptirq_remapping_info *) data; /* * "interrupt storm" detection & delay intr injection just for UOS @@ -169,7 +169,7 @@ static void ptdev_interrupt_handler(__unused uint32_t irq, void *data) } /* active intr with irq registering */ -int32_t ptdev_activate_entry(struct ptdev_remapping_info *entry, uint32_t phys_irq) +int32_t ptdev_activate_entry(struct ptirq_remapping_info *entry, uint32_t phys_irq) { int32_t retval; @@ -187,7 +187,7 @@ int32_t ptdev_activate_entry(struct ptdev_remapping_info *entry, uint32_t phys_i } void -ptdev_deactivate_entry(struct ptdev_remapping_info *entry) +ptdev_deactivate_entry(struct ptirq_remapping_info *entry) { uint64_t rflags; @@ -226,10 +226,10 @@ uint32_t get_vm_ptdev_intr_data(const struct acrn_vm *target_vm, uint64_t *buffe { uint32_t index = 0U; uint16_t i; - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; for (i = 0U; i < CONFIG_MAX_PT_IRQ_ENTRIES; i++) { - entry = &ptdev_irq_entries[i]; + entry = &ptirq_entries[i]; if (!is_entry_active(entry)) { continue; } diff --git a/hypervisor/debug/shell.c b/hypervisor/debug/shell.c index fc48cc224..3e6940394 100644 --- a/hypervisor/debug/shell.c +++ b/hypervisor/debug/shell.c @@ -902,7 +902,7 @@ static int shell_show_cpu_int(__unused int argc, __unused char **argv) } #define PTDEV_INVALID_PIN 0xffU -static void get_entry_info(const struct ptdev_remapping_info *entry, char *type, +static void get_entry_info(const struct ptirq_remapping_info *entry, char *type, uint32_t *irq, uint32_t *vector, uint64_t *dest, bool *lvl_tm, uint8_t *pin, uint8_t *vpin, uint32_t *bdf, uint32_t *vbdf) { @@ -958,7 +958,7 @@ static void get_entry_info(const struct ptdev_remapping_info *entry, char *type, static void get_ptdev_info(char *str_arg, size_t str_max) { char *str = str_arg; - struct ptdev_remapping_info *entry; + struct ptirq_remapping_info *entry; uint16_t idx; size_t len, size = str_max; uint32_t irq, vector; @@ -976,7 +976,7 @@ static void get_ptdev_info(char *str_arg, size_t str_max) str += len; for (idx = 0U; idx < CONFIG_MAX_PT_IRQ_ENTRIES; idx++) { - entry = &ptdev_irq_entries[idx]; + entry = &ptirq_entries[idx]; if (is_entry_active(entry)) { get_entry_info(entry, type, &irq, &vector, &dest, &lvl_tm, &pin, &vpin, diff --git a/hypervisor/dm/vpci/msi.c b/hypervisor/dm/vpci/msi.c index 5a1a43d89..95ae047c9 100644 --- a/hypervisor/dm/vpci/msi.c +++ b/hypervisor/dm/vpci/msi.c @@ -44,7 +44,7 @@ static inline bool msicap_access(struct pci_vdev *vdev, uint32_t offset) static int32_t vmsi_remap(struct pci_vdev *vdev, bool enable) { - struct ptdev_msi_info info; + struct ptirq_msi_info info; union pci_bdf pbdf = vdev->pdev.bdf; struct acrn_vm *vm = vdev->vpci->vm; uint32_t capoff = vdev->msi.capoff; diff --git a/hypervisor/dm/vpci/msix.c b/hypervisor/dm/vpci/msix.c index d0270a7ce..d98040ed5 100644 --- a/hypervisor/dm/vpci/msix.c +++ b/hypervisor/dm/vpci/msix.c @@ -51,7 +51,7 @@ static inline bool msixtable_access(struct pci_vdev *vdev, uint32_t offset) static int vmsix_remap_entry(struct pci_vdev *vdev, uint32_t index, bool enable) { struct msix_table_entry *pentry; - struct ptdev_msi_info info; + struct ptirq_msi_info info; uint64_t hva; int ret; diff --git a/hypervisor/include/arch/x86/assign.h b/hypervisor/include/arch/x86/assign.h index 85bab4fed..f46893b6b 100644 --- a/hypervisor/include/arch/x86/assign.h +++ b/hypervisor/include/arch/x86/assign.h @@ -36,7 +36,7 @@ * @pre vm != NULL * */ -void ptdev_intx_ack(struct acrn_vm *vm, uint8_t virt_pin, enum ptdev_vpin_source vpin_src); +void ptdev_intx_ack(struct acrn_vm *vm, uint8_t virt_pin, enum ptirq_vpin_source vpin_src); /** * @brief MSI/MSI-x remapping for passthrough device. @@ -59,7 +59,7 @@ void ptdev_intx_ack(struct acrn_vm *vm, uint8_t virt_pin, enum ptdev_vpin_source * @pre info != NULL * */ -int ptdev_msix_remap(struct acrn_vm *vm, uint16_t virt_bdf, uint16_t entry_nr, struct ptdev_msi_info *info); +int ptdev_msix_remap(struct acrn_vm *vm, uint16_t virt_bdf, uint16_t entry_nr, struct ptirq_msi_info *info); /** @@ -81,7 +81,7 @@ int ptdev_msix_remap(struct acrn_vm *vm, uint16_t virt_bdf, uint16_t entry_nr, s * @pre vm != NULL * */ -int ptdev_intx_pin_remap(struct acrn_vm *vm, uint8_t virt_pin, enum ptdev_vpin_source vpin_src); +int ptdev_intx_pin_remap(struct acrn_vm *vm, uint8_t virt_pin, enum ptirq_vpin_source vpin_src); /** * @brief Add an interrupt remapping entry for INTx as pre-hold mapping. diff --git a/hypervisor/include/arch/x86/guest/vioapic.h b/hypervisor/include/arch/x86/guest/vioapic.h index 8f30f6473..26998972c 100644 --- a/hypervisor/include/arch/x86/guest/vioapic.h +++ b/hypervisor/include/arch/x86/guest/vioapic.h @@ -56,7 +56,7 @@ struct acrn_vioapic { union ioapic_rte rtbl[REDIR_ENTRIES_HW]; /* pin_state status bitmap: 1 - high, 0 - low */ uint64_t pin_state[STATE_BITMAP_SIZE]; - struct ptdev_remapping_info *vpin_to_pt_entry[VIOAPIC_MAX_PIN]; + struct ptirq_remapping_info *vpin_to_pt_entry[VIOAPIC_MAX_PIN]; }; void vioapic_init(struct acrn_vm *vm); diff --git a/hypervisor/include/arch/x86/guest/vpic.h b/hypervisor/include/arch/x86/guest/vpic.h index 17a4a81dd..12aee9051 100644 --- a/hypervisor/include/arch/x86/guest/vpic.h +++ b/hypervisor/include/arch/x86/guest/vpic.h @@ -128,7 +128,7 @@ struct acrn_vpic { struct acrn_vm *vm; spinlock_t lock; struct i8259_reg_state i8259[2]; - struct ptdev_remapping_info *vpin_to_pt_entry[NR_VPIC_PINS_TOTAL]; + struct ptirq_remapping_info *vpin_to_pt_entry[NR_VPIC_PINS_TOTAL]; }; void vpic_init(struct acrn_vm *vm); diff --git a/hypervisor/include/common/ptdev.h b/hypervisor/include/common/ptdev.h index e3f02b8fc..fc8c9da6a 100644 --- a/hypervisor/include/common/ptdev.h +++ b/hypervisor/include/common/ptdev.h @@ -14,7 +14,7 @@ #define INVALID_PTDEV_ENTRY_ID 0xffffU -enum ptdev_vpin_source { +enum ptirq_vpin_source { PTDEV_VPIN_IOAPIC, PTDEV_VPIN_PIC, }; @@ -39,7 +39,7 @@ union source_id { }; /* entry per guest virt vector */ -struct ptdev_msi_info { +struct ptirq_msi_info { uint64_t vmsi_addr; /* virt msi_addr */ uint32_t vmsi_data; /* virt msi_data */ uint64_t pmsi_addr; /* phys msi_addr */ @@ -52,7 +52,7 @@ struct ptdev_msi_info { * information related with its vm and msi/intx mapping & interaction nodes * with interrupt handler and softirq. */ -struct ptdev_remapping_info { +struct ptirq_remapping_info { uint16_t ptdev_entry_id; uint32_t intr_type; union source_id phys_sid; @@ -62,25 +62,25 @@ struct ptdev_remapping_info { uint32_t allocated_pirq; uint32_t polarity; /* 0=active high, 1=active low*/ struct list_head softirq_node; - struct ptdev_msi_info msi; + struct ptirq_msi_info msi; uint64_t intr_count; struct hv_timer intr_delay_timer; /* used for delay intr injection */ }; -extern struct ptdev_remapping_info ptdev_irq_entries[]; +extern struct ptirq_remapping_info ptirq_entries[]; extern spinlock_t ptdev_lock; -bool is_entry_active(const struct ptdev_remapping_info *entry); +bool is_entry_active(const struct ptirq_remapping_info *entry); void ptdev_softirq(uint16_t pcpu_id); void ptdev_init(void); void ptdev_release_all_entries(const struct acrn_vm *vm); -struct ptdev_remapping_info *ptdev_dequeue_softirq(struct acrn_vm *vm); -struct ptdev_remapping_info *alloc_entry(struct acrn_vm *vm, uint32_t intr_type); -void release_entry(struct ptdev_remapping_info *entry); -int32_t ptdev_activate_entry(struct ptdev_remapping_info *entry, uint32_t phys_irq); -void ptdev_deactivate_entry(struct ptdev_remapping_info *entry); +struct ptirq_remapping_info *ptdev_dequeue_softirq(struct acrn_vm *vm); +struct ptirq_remapping_info *alloc_entry(struct acrn_vm *vm, uint32_t intr_type); +void release_entry(struct ptirq_remapping_info *entry); +int32_t ptdev_activate_entry(struct ptirq_remapping_info *entry, uint32_t phys_irq); +void ptdev_deactivate_entry(struct ptirq_remapping_info *entry); uint32_t get_vm_ptdev_intr_data(const struct acrn_vm *target_vm, uint64_t *buffer, uint32_t buffer_cnt);