hv: vlapic: wrap a function to calculate destination vcpu mask by shorthand

1. Rename vlapic_calc_dest to vlapic_calc_dest_noshort
2. Remove vlapic_calc_dest_lapic_pt, use vlapic_calc_dest_noshort instead
3. Wrap vlapic_calc_dest to calculate destination vcpu mask according shorthand

Tracked-On: #5923
Signed-off-by: Zide Chen <zide.chen@intel.com>
Signed-off-by: Li Fei1 <fei1.li@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Li Fei1
2021-05-20 10:31:24 +08:00
committed by wenlingz
parent f782a8cc39
commit 153ce8ee48
4 changed files with 43 additions and 70 deletions

View File

@@ -32,7 +32,7 @@ static struct acrn_vcpu *is_single_destination(struct acrn_vm *vm, const struct
uint16_t vid;
struct acrn_vcpu *vcpu = NULL;
vlapic_calc_dest(vm, &vdmask, false, (uint32_t)(info->addr.bits.dest_field),
vdmask = vlapic_calc_dest_noshort(vm, false, (uint32_t)(info->addr.bits.dest_field),
(bool)(info->addr.bits.dest_mode == MSI_ADDR_DESTMODE_PHYS),
(bool)(info->data.bits.delivery_mode == MSI_DATA_DELMODE_LOPRI));
@@ -105,7 +105,7 @@ static void ptirq_build_physical_msi(struct acrn_vm *vm,
dest = entry->vmsi.addr.bits.dest_field;
phys = (entry->vmsi.addr.bits.dest_mode == MSI_ADDR_DESTMODE_PHYS);
vlapic_calc_dest(vm, &vdmask, false, dest, phys, false);
vdmask = vlapic_calc_dest_noshort(vm, false, dest, phys, false);
pdmask = vcpumask2pcpumask(vm, vdmask);
/* get physical delivery mode */
@@ -204,7 +204,7 @@ ptirq_build_physical_rte(struct acrn_vm *vm, struct ptirq_remapping_info *entry)
/* physical destination cpu mask */
phys = (virt_rte.bits.dest_mode == IOAPIC_RTE_DESTMODE_PHY);
dest = (uint32_t)virt_rte.bits.dest_field;
vlapic_calc_dest(vm, &vdmask, false, dest, phys, false);
vdmask = vlapic_calc_dest_noshort(vm, false, dest, phys, false);
pdmask = vcpumask2pcpumask(vm, vdmask);
/* physical delivery mode */