summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2013-03-28 09:34:23 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2013-03-28 09:34:23 -0500
commitd2fd3b2ec2c265eb9ed3bdcc1db3e4c3feee3846 (patch)
tree93f18da7816431a823553ee3f7cea0e2fec9d2b3 /src/arch/x86
parent433cab9d95480b29d5fa76f02686d16adaf38db2 (diff)
downloadgem5-d2fd3b2ec2c265eb9ed3bdcc1db3e4c3feee3846.tar.xz
x86: changes to apic, keyboard
It is possible that operating system wants to shutdown the lapic timer by writing timer's initial count to 0. This patch adds a check that the timer event is only scheduled if the count is 0. The patch also converts few of the panics related to the keyboard to warnings since we are any way not interested in simulating the keyboard.
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/interrupts.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/arch/x86/interrupts.cc b/src/arch/x86/interrupts.cc
index 9983d7305..ad9d483c7 100644
--- a/src/arch/x86/interrupts.cc
+++ b/src/arch/x86/interrupts.cc
@@ -597,9 +597,10 @@ X86ISA::Interrupts::setReg(ApicRegIndex reg, uint32_t val)
curTick() + (newCount + 1) *
clockPeriod() - offset, true);
} else {
- reschedule(apicTimerEvent,
- curTick() + newCount *
- clockPeriod(), true);
+ if (newCount)
+ reschedule(apicTimerEvent,
+ curTick() + newCount *
+ clockPeriod(), true);
}
}
break;