mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-06-06 09:06:30 +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
@@ -96,3 +96,22 @@ void setup_notification(void)
|
||||
dev_dbg(ACRN_DBG_PTIRQ, "NOTIFY: irq[%d] setup vector %x",
|
||||
notification_irq, irq_to_vector(notification_irq));
|
||||
}
|
||||
|
||||
static void posted_intr_notification(__unused uint32_t irq, __unused void *data)
|
||||
{
|
||||
/* Dummy IRQ handler for case that Posted-Interrupt Notification
|
||||
* is sent to vCPU in root mode(isn't running),interrupt will be
|
||||
* picked up in next vmentry,do nothine here.
|
||||
*/
|
||||
}
|
||||
|
||||
/*pre-conditon: be called only by BSP initialization proccess*/
|
||||
void setup_posted_intr_notification(void)
|
||||
{
|
||||
if (request_irq(POSTED_INTR_NOTIFY_IRQ,
|
||||
posted_intr_notification,
|
||||
NULL, IRQF_NONE) < 0) {
|
||||
pr_err("Failed to setup posted-intr notification");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user