diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2013-03-28 09:34:23 -0500 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2013-03-28 09:34:23 -0500 |
commit | d2fd3b2ec2c265eb9ed3bdcc1db3e4c3feee3846 (patch) | |
tree | 93f18da7816431a823553ee3f7cea0e2fec9d2b3 /src/arch/x86 | |
parent | 433cab9d95480b29d5fa76f02686d16adaf38db2 (diff) | |
download | gem5-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.cc | 7 |
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; |