summaryrefslogtreecommitdiff
path: root/cpu/intr_control.hh
diff options
context:
space:
mode:
authorRon Dreslinski <rdreslin@umich.edu>2003-11-02 19:38:22 -0500
committerRon Dreslinski <rdreslin@umich.edu>2003-11-02 19:38:22 -0500
commit34620649de5ff2b8cd33dac46fed8a1d07971587 (patch)
tree23875ae10a916243bdbf891100e9380d51f10ec9 /cpu/intr_control.hh
parent667cbb6690b1f4af68ab7dad8caed8cdf107a090 (diff)
downloadgem5-34620649de5ff2b8cd33dac46fed8a1d07971587.tar.xz
General fixes for Sampling CPU in full system mode, and serialization of sampling CPU
cpu/intr_control.cc: Fix the reference to the cpu, to look up which cpu is being used In sampling mode can't use an absolute pointer to the cpu, use the exeContexts vector cpu/intr_control.hh: Add two new functions to simplify MP interrupts, fix it for sampling CPU model --HG-- extra : convert_revision : a69cdbb81e6aefa3fd5385416713c689300bbea8
Diffstat (limited to 'cpu/intr_control.hh')
-rw-r--r--cpu/intr_control.hh14
1 files changed, 6 insertions, 8 deletions
diff --git a/cpu/intr_control.hh b/cpu/intr_control.hh
index b8fa68f52..37e62ed00 100644
--- a/cpu/intr_control.hh
+++ b/cpu/intr_control.hh
@@ -29,9 +29,13 @@
#ifndef __INTR_CONTROL_HH__
#define __INTR_CONTROL_HH__
+#include <vector>
#include "base/misc.hh"
#include "cpu/base_cpu.hh"
#include "sim/sim_object.hh"
+#include "sim/system.hh"
+#include "cpu/exec_context.hh"
+
class IntrControl : public SimObject
{
@@ -41,16 +45,10 @@ class IntrControl : public SimObject
void clear(int int_num, int index = 0);
void post(int int_num, int index = 0);
+ void clear(int cpu_id, int int_num, int index);
+ void post(int cpu_id, int int_num, int index);
};
-inline void
-IntrControl::post(int int_num, int index)
-{ cpu->post_interrupt(int_num, index); }
-
-inline void
-IntrControl::clear(int int_num, int index)
-{ cpu->clear_interrupt(int_num, index); }
-
#endif // __INTR_CONTROL_HH__