summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/SConscript4
-rw-r--r--src/cpu/base.hh9
-rw-r--r--src/cpu/intr_control_noisa.cc54
3 files changed, 65 insertions, 2 deletions
diff --git a/src/cpu/SConscript b/src/cpu/SConscript
index c52dbc53b..999de1e49 100644
--- a/src/cpu/SConscript
+++ b/src/cpu/SConscript
@@ -30,7 +30,9 @@
Import('*')
-if env['TARGET_ISA'] == 'no':
+if env['TARGET_ISA'] == 'null':
+ SimObject('IntrControl.py')
+ Source('intr_control_noisa.cc')
Return()
#################################################################
diff --git a/src/cpu/base.hh b/src/cpu/base.hh
index 9e7198763..540c72833 100644
--- a/src/cpu/base.hh
+++ b/src/cpu/base.hh
@@ -48,11 +48,16 @@
#include <vector>
+// Before we do anything else, check if this build is the NULL ISA,
+// and if so stop here
+#include "config/the_isa.hh"
+#if THE_ISA == NULL_ISA
+#include "arch/null/cpu_dummy.hh"
+#else
#include "arch/interrupts.hh"
#include "arch/isa_traits.hh"
#include "arch/microcode_rom.hh"
#include "base/statistics.hh"
-#include "config/the_isa.hh"
#include "mem/mem_object.hh"
#include "sim/eventq.hh"
#include "sim/full_system.hh"
@@ -476,4 +481,6 @@ class BaseCPU : public MemObject
Stats::Scalar numWorkItemsCompleted;
};
+#endif // THE_ISA == NULL_ISA
+
#endif // __CPU_BASE_HH__
diff --git a/src/cpu/intr_control_noisa.cc b/src/cpu/intr_control_noisa.cc
new file mode 100644
index 000000000..ff49976d0
--- /dev/null
+++ b/src/cpu/intr_control_noisa.cc
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2002-2005 The Regents of The University of Michigan
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met: redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer;
+ * redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution;
+ * neither the name of the copyright holders nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Authors: Nathan Binkert
+ * Ron Dreslinski
+ */
+
+#include "cpu/intr_control.hh"
+
+using namespace std;
+
+IntrControl::IntrControl(const Params *p)
+ : SimObject(p), sys(p->sys)
+{}
+
+void
+IntrControl::post(int cpu_id, int int_num, int index)
+{
+}
+
+void
+IntrControl::clear(int cpu_id, int int_num, int index)
+{
+}
+
+IntrControl *
+IntrControlParams::create()
+{
+ return new IntrControl(this);
+}