hv: pirq: do not indicate priority when allocate vector

It's not necessary to specify priority for dynamic allocated vector, because
nested irq is not supported on HV, and irq of any priority would cause VM exit.

This commit makes the following changes:
 - remove the argument indicating priority in struct irq_request_info and
   following functions:
    ptdev_activate_entry()
    find_available_vector()
    irq_desc_alloc_vector()
    normal_register_handler()
 - change the macro of vector ranges:
    VECTOR_DYNAMIC_START/END for dynamically allocable vectors;
    VECTOR_FIXED_START/END for fixed allocated vectors, such as vector for
    timer etc.

Signed-off-by: Yan, Like <like.yan@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Yan, Like
2018-08-06 17:48:45 +08:00
committed by lijinxia
parent 229bf32eb5
commit c492a14e53
9 changed files with 27 additions and 49 deletions

View File

@@ -33,7 +33,6 @@ struct irq_request_info {
dev_handler_t func;
void *dev_data;
bool share;
bool lowpri;
char *name;
};
@@ -61,7 +60,7 @@ struct dev_handler_node {
uint32_t irq_mark_used(uint32_t irq);
uint32_t irq_desc_alloc_vector(uint32_t irq, bool lowpri);
uint32_t irq_desc_alloc_vector(uint32_t irq);
void irq_desc_try_free_vector(uint32_t irq);
uint32_t irq_to_vector(uint32_t irq);
@@ -80,7 +79,6 @@ normal_register_handler(uint32_t irq,
dev_handler_t func,
void *dev_data,
bool share,
bool lowpri,
const char *name);
void unregister_handler_common(struct dev_handler_node *node);

View File

@@ -75,7 +75,7 @@ struct ptdev_remapping_info *alloc_entry(struct vm *vm,
void release_entry(struct ptdev_remapping_info *entry);
void ptdev_activate_entry(
struct ptdev_remapping_info *entry,
uint32_t phys_irq, bool lowpri);
uint32_t phys_irq);
void ptdev_deactivate_entry(struct ptdev_remapping_info *entry);
#ifdef HV_DEBUG