summaryrefslogtreecommitdiff
path: root/src/dev/x86
diff options
context:
space:
mode:
authorcdirik <cdirik@micron.com>2015-01-06 15:10:22 -0700
committercdirik <cdirik@micron.com>2015-01-06 15:10:22 -0700
commit1693e526d090f47323e378f0bd8546f28c2a97f7 (patch)
treebf026901c1b0fd644cef546fc1d69e252a46e789 /src/dev/x86
parent1c1fb2c9886134c5ab4a877e2ac5baae8c2390a9 (diff)
downloadgem5-1693e526d090f47323e378f0bd8546f28c2a97f7.tar.xz
dev: prevent intel 8254 timer counter events firing before startup
This change includes edits to Intel8254Timer to prevent counter events firing before startup to comply with SimObject initialization call sequence. Committed by: Nilay Vaish <nilay@cs.wisc.edu>
Diffstat (limited to 'src/dev/x86')
-rw-r--r--src/dev/x86/i8254.cc6
-rw-r--r--src/dev/x86/i8254.hh1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/dev/x86/i8254.cc b/src/dev/x86/i8254.cc
index f6af34a65..b80952237 100644
--- a/src/dev/x86/i8254.cc
+++ b/src/dev/x86/i8254.cc
@@ -89,6 +89,12 @@ X86ISA::I8254::unserialize(Checkpoint *cp, const std::string &section)
pit.unserialize("pit", cp, section);
}
+void
+X86ISA::I8254::startup()
+{
+ pit.startup();
+}
+
X86ISA::I8254 *
I8254Params::create()
{
diff --git a/src/dev/x86/i8254.hh b/src/dev/x86/i8254.hh
index 49ea271e9..76521e73e 100644
--- a/src/dev/x86/i8254.hh
+++ b/src/dev/x86/i8254.hh
@@ -111,6 +111,7 @@ class I8254 : public BasicPioDevice
virtual void serialize(std::ostream &os);
virtual void unserialize(Checkpoint *cp, const std::string &section);
+ virtual void startup();
};