Re: Question about guest external interrupt


Scott Johnson
 

External interrupts are passed through to the guest by setting `hip.VSEIP`, which the guest OS sees as `sip.SEIP`.

The hypervisor software decides which interrupts should be passed through to which guest OS.

If the hardware has GEILEN>0 then the hypervisor software can configure `hstatus.VGEIN` and `hgeie` such that `hip.VSEIP` can be set by the external interrupt directly.

If the hardware has GEILEN=0 then the external interrupt will first go to the hypervisor software, which can pass through the interrupt to the guest by setting `hvip.VSEIP`.

Either way, the guest OS sees the same thing.

Join tech-privileged@lists.riscv.org to automatically receive all group messages.