summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas@sandberg.pp.se>2014-03-16 17:28:23 +0100
committerAndreas Sandberg <andreas@sandberg.pp.se>2014-03-16 17:28:23 +0100
commitf791e7b313c6f5c2b30f96c35f675d523def8a3a (patch)
tree495096f78ab0ab8ddc0a5a3c0cd2c2768e0e31e7 /src/arch/x86
parent32bf74cb8ee4c9293636041c05d93fbfd01087da (diff)
downloadgem5-f791e7b313c6f5c2b30f96c35f675d523def8a3a.tar.xz
kvm: x86: Add support for x86 INIT and STARTUP handling
This changeset adds support for INIT and STARTUP IPI handling. We currently handle both of these interrupts in gem5 and transfer the state to KVM. Since we do not have a BIOS loaded, we pretend that the INIT interrupt suspends the CPU after reset. --HG-- extra : rebase_source : 7f3b25f3801d68f668b6cd91eaf50d6f48ee2a6a
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/interrupts.hh6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/arch/x86/interrupts.hh b/src/arch/x86/interrupts.hh
index 8997d7402..dabee5441 100644
--- a/src/arch/x86/interrupts.hh
+++ b/src/arch/x86/interrupts.hh
@@ -281,6 +281,12 @@ class Interrupts : public BasicPioDevice, IntDevice
* @return true if there are interrupts pending.
*/
bool checkInterruptsRaw() const;
+ /**
+ * Check if there are pending unmaskable interrupts.
+ *
+ * @return true there are unmaskable interrupts pending.
+ */
+ bool hasPendingUnmaskable() const { return pendingUnmaskableInt; }
Fault getInterrupt(ThreadContext *tc);
void updateIntrInfo(ThreadContext *tc);