hv: assign: change ptirq vpin source type from enum to macro

This patch fixes the MISRA-C violations on implicit type conversion.
For ptirq vpin source type, there is no need to define a enum.
Remove enum ptirq_vpin_source.
Define two macro:
- PTDEV_VPIN_IOAPIC
- PTDEV_VPIN_PIC

Tracked-On: #861
Signed-off-by: Binbin Wu <binbin.wu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Binbin Wu 2018-12-19 14:36:34 +08:00 committed by wenlingz
parent b3ce5928d6
commit bb98040b51
3 changed files with 9 additions and 12 deletions

View File

@ -283,7 +283,7 @@ static struct ptirq_remapping_info *add_intx_remapping(struct acrn_vm *vm, uint8
uint8_t phys_pin, bool pic_pin) uint8_t phys_pin, bool pic_pin)
{ {
struct ptirq_remapping_info *entry = NULL; struct ptirq_remapping_info *entry = NULL;
enum ptirq_vpin_source vpin_src = pic_pin ? PTDEV_VPIN_PIC : PTDEV_VPIN_IOAPIC; uint8_t vpin_src = pic_pin ? PTDEV_VPIN_PIC : PTDEV_VPIN_IOAPIC;
DEFINE_IOAPIC_SID(phys_sid, phys_pin, 0); DEFINE_IOAPIC_SID(phys_sid, phys_pin, 0);
DEFINE_IOAPIC_SID(virt_sid, virt_pin, vpin_src); DEFINE_IOAPIC_SID(virt_sid, virt_pin, vpin_src);
uint32_t phys_irq = pin_to_irq(phys_pin); uint32_t phys_irq = pin_to_irq(phys_pin);
@ -482,7 +482,7 @@ void ptirq_softirq(uint16_t pcpu_id)
} }
void ptirq_intx_ack(struct acrn_vm *vm, uint8_t virt_pin, void ptirq_intx_ack(struct acrn_vm *vm, uint8_t virt_pin,
enum ptirq_vpin_source vpin_src) uint8_t vpin_src)
{ {
uint32_t phys_irq; uint32_t phys_irq;
struct ptirq_remapping_info *entry; struct ptirq_remapping_info *entry;
@ -610,8 +610,7 @@ static void activate_physical_ioapic(struct acrn_vm *vm,
/* Main entry for PCI/Legacy device assignment with INTx, calling from vIOAPIC /* Main entry for PCI/Legacy device assignment with INTx, calling from vIOAPIC
* or vPIC * or vPIC
*/ */
int32_t ptirq_intx_pin_remap(struct acrn_vm *vm, uint8_t virt_pin, int32_t ptirq_intx_pin_remap(struct acrn_vm *vm, uint8_t virt_pin, uint8_t vpin_src)
enum ptirq_vpin_source vpin_src)
{ {
int32_t status = 0; int32_t status = 0;
struct ptirq_remapping_info *entry = NULL; struct ptirq_remapping_info *entry = NULL;
@ -697,8 +696,8 @@ int32_t ptirq_intx_pin_remap(struct acrn_vm *vm, uint8_t virt_pin,
"IOAPIC pin=%hhu pirq=%u vpin=%d switch from %s to %s vpin=%d for vm%d", "IOAPIC pin=%hhu pirq=%u vpin=%d switch from %s to %s vpin=%d for vm%d",
entry->phys_sid.intx_id.pin, entry->phys_sid.intx_id.pin,
entry->allocated_pirq, entry->virt_sid.intx_id.pin, entry->allocated_pirq, entry->virt_sid.intx_id.pin,
(vpin_src == 0) ? "vPIC" : "vIOAPIC", (vpin_src == 0U) ? "vPIC" : "vIOAPIC",
(vpin_src == 0) ? "vIOPIC" : "vPIC", (vpin_src == 0U) ? "vIOPIC" : "vPIC",
virt_pin, entry->vm->vm_id); virt_pin, entry->vm->vm_id);
entry->virt_sid.value = virt_sid.value; entry->virt_sid.value = virt_sid.value;
} }

View File

@ -36,7 +36,7 @@
* @pre vm != NULL * @pre vm != NULL
* *
*/ */
void ptirq_intx_ack(struct acrn_vm *vm, uint8_t virt_pin, enum ptirq_vpin_source vpin_src); void ptirq_intx_ack(struct acrn_vm *vm, uint8_t virt_pin, uint8_t vpin_src);
/** /**
* @brief MSI/MSI-x remapping for passthrough device. * @brief MSI/MSI-x remapping for passthrough device.
@ -81,7 +81,7 @@ int32_t ptirq_msix_remap(struct acrn_vm *vm, uint16_t virt_bdf, uint16_t entry_n
* @pre vm != NULL * @pre vm != NULL
* *
*/ */
int32_t ptirq_intx_pin_remap(struct acrn_vm *vm, uint8_t virt_pin, enum ptirq_vpin_source vpin_src); int32_t ptirq_intx_pin_remap(struct acrn_vm *vm, uint8_t virt_pin, uint8_t vpin_src);
/** /**
* @brief Add an interrupt remapping entry for INTx as pre-hold mapping. * @brief Add an interrupt remapping entry for INTx as pre-hold mapping.

View File

@ -14,10 +14,8 @@
#define INVALID_PTDEV_ENTRY_ID 0xffffU #define INVALID_PTDEV_ENTRY_ID 0xffffU
enum ptirq_vpin_source { #define PTDEV_VPIN_IOAPIC 0x0U
PTDEV_VPIN_IOAPIC, #define PTDEV_VPIN_PIC 0x1U
PTDEV_VPIN_PIC,
};
#define DEFINE_MSI_SID(name, a, b) \ #define DEFINE_MSI_SID(name, a, b) \
union source_id (name) = {.msi_id = {.bdf = (a), .entry_nr = (b)} } union source_id (name) = {.msi_id = {.bdf = (a), .entry_nr = (b)} }