summaryrefslogtreecommitdiff
path: root/src/arch/arm/kvm/gic.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/kvm/gic.cc')
-rw-r--r--src/arch/arm/kvm/gic.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/arch/arm/kvm/gic.cc b/src/arch/arm/kvm/gic.cc
index ce3baa558..d490265b8 100644
--- a/src/arch/arm/kvm/gic.cc
+++ b/src/arch/arm/kvm/gic.cc
@@ -292,6 +292,17 @@ MuxingKvmGic::clearPPInt(uint32_t num, uint32_t cpu)
}
void
+MuxingKvmGic::updateIntState(int hint)
+{
+ // During Kvm->Pl390 state transfer, writes to the Pl390 will call
+ // updateIntState() which can post an interrupt. Since we're only
+ // using the Pl390 model for holding state in this circumstance, we
+ // short-circuit this behavior, as the Pl390 is not actually active.
+ if (!usingKvm)
+ return Pl390::updateIntState(hint);
+}
+
+void
MuxingKvmGic::copyDistRegister(BaseGicRegisters* from, BaseGicRegisters* to,
ContextID ctx, Addr daddr)
{