bao-project / bao-hypervisor

Bao, a Lightweight Static Partitioning Hypervisor
Apache License 2.0
379 stars 128 forks source link

fix(ipc): inject non-hw interupt #178

Closed josecm closed 1 month ago

josecm commented 1 month ago

The IPC module was injecting the IPC object interrupt as an hardware interrupt by default using vcpu_inject_hw_irq. However, this interrupt is purely virtual since it does not have a counterpart in hardware and the way bao handles the two kinds of interrupts is different, especially on the arm architecture.

This PR fixes it by calling the more generic vcpu_inject_irq which internally decides if it should inject it as a virtual interrupt or virtual.