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

@@ -9,18 +9,14 @@
#include <common/irq.h>
/* vectors for normal, usually for devices */
#define VECTOR_FOR_NOR_LOWPRI_START 0x20U
#define VECTOR_FOR_NOR_LOWPRI_END 0x7FU
#define VECTOR_FOR_NOR_HIGHPRI_START 0x80U
#define VECTOR_FOR_NOR_HIGHPRI_END 0xDFU
#define VECTOR_FOR_NOR_END VECTOR_FOR_NOR_HIGHPRI_END
/* vectors range for dynamic allocation, usually for devices */
#define VECTOR_DYNAMIC_START 0x20U
#define VECTOR_DYNAMIC_END 0xDFU
#define VECTOR_FOR_INTR_START VECTOR_FOR_NOR_LOWPRI_START
/* vectors range for fixed vectors, usually for HV service */
#define VECTOR_FIXED_START 0xE0U
#define VECTOR_FIXED_END 0xFFU
/* vectors for priority, usually for HV service */
#define VECTOR_FOR_PRI_START 0xE0U
#define VECTOR_FOR_PRI_END 0xFFU
#define VECTOR_TIMER 0xEFU
#define VECTOR_NOTIFY_VCPU 0xF0U
#define VECTOR_VIRT_IRQ_VHM 0xF7U