commit | 3d84a263ba91898736dcd97093bf4f93e35d3b22 | [log] [tgz] |
---|---|---|
author | Andrew Walbran <qwandor@google.com> | Thu Dec 13 14:41:19 2018 +0000 |
committer | Andrew Walbran <qwandor@google.com> | Wed Dec 19 13:55:43 2018 +0000 |
tree | bacc4e61bd1ace31cd14b0bc2fab40456825ac36 | |
parent | 3d72005889150e318fbd2c434d1edda9ae5b34bb [diff] |
Set or clear VI bit in hvc_handler just before returning, using count. A count of enabled/pending interrupts is kept for this purpose whenever the enabled and pending bits are updated. This handles the case where the target vCPU was already running on a different physical CPU when an interrupt was injected and so it had to be kicked by the primary. Also add comments explaining what happens in case that the target of an injected interrupt is already running on a different physical CPU. Also also, add a test for the case of injecting an interrupt ID which is not enabled, then enabling it later. Bug: 117270899 Change-Id: I200f547a5a72332a5e24b5109a3e6e7b66c0b59e
Hafnium is a hypervisor, initially supporting aarch64 (64-bit ARMv8 CPUs).
Get in touch and keep up-to-date at hafnium-discuss@googlegroups.com.
To jump in and build Hafnium, follow the getting started instructions.