diff options
Diffstat (limited to 'src/arch/arm/kvm/gic.cc')
-rw-r--r-- | src/arch/arm/kvm/gic.cc | 11 |
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) { |