mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-01-05 07:35:31 +00:00
hv:enable APICv-Posted Interrupt
to enable APICv Posted interrupt supported, following the specifications defined in Intel SDM Section #29.6, Volume3. Posted-interrupt processing is a feature by which a processor processes the virtual interrupts by recording them as pending on the virtual-APIC page. Injecting interrupts to VCPU from remote CPU without causing VM exit on the destination, following steps in SDM Section 29.6,volume3: Tracked-On: #1447 Signed-off-by: Yonghua Huang <yonghua.huang@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
committed by
Xie, Nanlin
parent
a028567b9c
commit
38d5df723d
@@ -19,6 +19,7 @@
|
||||
|
||||
#define VECTOR_TIMER 0xEFU
|
||||
#define VECTOR_NOTIFY_VCPU 0xF0U
|
||||
#define VECTOR_POSTED_INTR 0xF2U
|
||||
#define VECTOR_VIRT_IRQ_VHM 0xF7U
|
||||
#define VECTOR_SPURIOUS 0xFFU
|
||||
#define VECTOR_HYPERVISOR_CALLBACK_VHM 0xF3U
|
||||
@@ -33,9 +34,10 @@
|
||||
#define NR_IRQS 256U
|
||||
#define IRQ_INVALID 0xffffffffU
|
||||
|
||||
#define NR_STATIC_MAPPINGS (2U)
|
||||
#define NR_STATIC_MAPPINGS (3U)
|
||||
#define TIMER_IRQ (NR_IRQS - 1U)
|
||||
#define NOTIFY_IRQ (NR_IRQS - 2U)
|
||||
#define POSTED_INTR_NOTIFY_IRQ (NR_IRQS - 3U)
|
||||
|
||||
#define DEFAULT_DEST_MODE IOAPIC_RTE_DESTLOG
|
||||
#define DEFAULT_DELIVERY_MODE IOAPIC_RTE_DELLOPRI
|
||||
@@ -77,6 +79,7 @@ void partition_mode_dispatch_interrupt(struct intr_excp_ctx *ctx);
|
||||
#endif
|
||||
|
||||
void setup_notification(void);
|
||||
void setup_posted_intr_notification(void);
|
||||
|
||||
typedef void (*spurious_handler_t)(uint32_t vector);
|
||||
extern spurious_handler_t spurious_handler;
|
||||
|
||||
Reference in New Issue
Block a user