hv: passthrough: Change interrupt pin to uint32_t

-- Change the type from uint8_t to uint32_t
-- Remove some typecast
-- Change union source_id

Tracked-On: #861
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Mingqiang Chi
2019-01-10 10:57:49 +08:00
committed by Xie, Nanlin
parent 87afe65f86
commit 49166fc3ac
4 changed files with 38 additions and 47 deletions

View File

@@ -36,7 +36,7 @@
* @pre vm != NULL
*
*/
void ptirq_intx_ack(struct acrn_vm *vm, uint8_t virt_pin, uint8_t vpin_src);
void ptirq_intx_ack(struct acrn_vm *vm, uint32_t virt_pin, uint32_t vpin_src);
/**
* @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
*
*/
int32_t ptirq_intx_pin_remap(struct acrn_vm *vm, uint8_t virt_pin, uint8_t vpin_src);
int32_t ptirq_intx_pin_remap(struct acrn_vm *vm, uint32_t virt_pin, uint32_t vpin_src);
/**
* @brief Add an interrupt remapping entry for INTx as pre-hold mapping.
@@ -103,7 +103,7 @@ int32_t ptirq_intx_pin_remap(struct acrn_vm *vm, uint8_t virt_pin, uint8_t vpin_
* @pre vm != NULL
*
*/
int32_t ptirq_add_intx_remapping(struct acrn_vm *vm, uint8_t virt_pin, uint8_t phys_pin, bool pic_pin);
int32_t ptirq_add_intx_remapping(struct acrn_vm *vm, uint32_t virt_pin, uint32_t phys_pin, bool pic_pin);
/**
* @brief Remove an interrupt remapping entry for INTx.
@@ -119,7 +119,7 @@ int32_t ptirq_add_intx_remapping(struct acrn_vm *vm, uint8_t virt_pin, uint8_t p
* @pre vm != NULL
*
*/
void ptirq_remove_intx_remapping(struct acrn_vm *vm, uint8_t virt_pin, bool pic_pin);
void ptirq_remove_intx_remapping(struct acrn_vm *vm, uint32_t virt_pin, bool pic_pin);
/**
* @brief Add interrupt remapping entry/entries for MSI/MSI-x as pre-hold mapping.

View File

@@ -24,15 +24,15 @@ union source_id (name) = {.msi_id = {.bdf = (a), .entry_nr = (b)} }
union source_id (name) = {.intx_id = {.pin = (a), .src = (b)} }
union source_id {
uint32_t value;
uint64_t value;
struct {
uint16_t bdf;
uint16_t entry_nr;
uint32_t reserved;
} msi_id;
struct {
uint8_t pin;
uint8_t src;
uint16_t reserved;
uint32_t pin;
uint32_t src;
} intx_id;
};

View File

@@ -246,30 +246,24 @@ struct hc_ptdev_irq {
/** physical BDF of the ptdev */
uint16_t phys_bdf;
union {
union irq_source {
/** INTX remapping info */
struct {
struct intx_info {
/** virtual IOAPIC/PIC pin */
uint8_t virt_pin;
/** Reserved */
uint32_t reserved0:24;
uint32_t virt_pin;
/** physical IOAPIC pin */
uint8_t phys_pin;
/** Reserved */
uint32_t reserved1:24;
uint32_t phys_pin;
/** is virtual pin from PIC */
bool pic_pin;
/** Reserved */
uint32_t reserved2:24;
uint8_t reserved[3];
} intx;
/** MSIx remapping info */
struct {
struct msix_info {
/** vector count of MSI/MSIX */
uint32_t vector_cnt;
} msix;