dev, x86: Delete the now unused X86 specific interrupt pins/lines.
Change-Id: I3915f0ad673119b551dcc4c5cedec180a9b88735
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20702
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
diff --git a/src/dev/x86/SConscript b/src/dev/x86/SConscript
index 331f0a2..4071cc8 100644
--- a/src/dev/x86/SConscript
+++ b/src/dev/x86/SConscript
@@ -65,6 +65,5 @@
Source('i82094aa.cc')
DebugFlag('I82094AA')
- SimObject('X86IntPin.py')
Source('intdev.cc')
DebugFlag('IntDevice')
diff --git a/src/dev/x86/X86IntPin.py b/src/dev/x86/X86IntPin.py
deleted file mode 100644
index 53760b4..0000000
--- a/src/dev/x86/X86IntPin.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (c) 2008 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: Gabe Black
-
-from m5.params import *
-from m5.SimObject import SimObject
-
-# A generic pin to drive an interrupt signal generated by a device.
-class X86IntSourcePin(SimObject):
- type = 'X86IntSourcePin'
- cxx_class = 'X86ISA::IntSourcePin'
- cxx_header = "dev/x86/intdev.hh"
-
-# A generic pin to receive an interrupt signal generated by another device.
-class X86IntSinkPin(SimObject):
- type = 'X86IntSinkPin'
- cxx_class = 'X86ISA::IntSinkPin'
- cxx_header = "dev/x86/intdev.hh"
-
- device = Param.SimObject("Device this pin belongs to")
- number = Param.Int("The pin number on the device")
-
-# An interrupt line which is driven by a source pin and drives a sink pin.
-class X86IntLine(SimObject):
- type = 'X86IntLine'
- cxx_class = 'X86ISA::IntLine'
- cxx_header = "dev/x86/intdev.hh"
-
- source = Param.X86IntSourcePin("Pin driving this line")
- sink = Param.X86IntSinkPin("Pin driven by this line")
diff --git a/src/dev/x86/cmos.hh b/src/dev/x86/cmos.hh
index 2f66207..b4ab8e7 100644
--- a/src/dev/x86/cmos.hh
+++ b/src/dev/x86/cmos.hh
@@ -56,14 +56,14 @@
class X86RTC : public MC146818
{
public:
- std::vector<::IntSourcePin<X86RTC> *> intPin;
+ std::vector<IntSourcePin<X86RTC> *> intPin;
X86RTC(EventManager *em, const std::string &n, const struct tm time,
bool bcd, Tick frequency, int int_pin_count) :
MC146818(em, n, time, bcd, frequency)
{
for (int i = 0; i < int_pin_count; i++) {
- intPin.push_back(new ::IntSourcePin<X86RTC>(
+ intPin.push_back(new IntSourcePin<X86RTC>(
csprintf("%s.int_pin[%d]", n, i), i, this));
}
}
diff --git a/src/dev/x86/i8042.cc b/src/dev/x86/i8042.cc
index 2211df8..3c3cceb 100644
--- a/src/dev/x86/i8042.cc
+++ b/src/dev/x86/i8042.cc
@@ -64,11 +64,11 @@
commandByte.keyboardFullInt = 1;
for (int i = 0; i < p->port_keyboard_int_pin_connection_count; i++) {
- keyboardIntPin.push_back(new ::IntSourcePin<I8042>(
+ keyboardIntPin.push_back(new IntSourcePin<I8042>(
csprintf("%s.keyboard_int_pin[%d]", name(), i), i, this));
}
for (int i = 0; i < p->port_mouse_int_pin_connection_count; i++) {
- mouseIntPin.push_back(new ::IntSourcePin<I8042>(
+ mouseIntPin.push_back(new IntSourcePin<I8042>(
csprintf("%s.mouse_int_pin[%d]", name(), i), i, this));
}
}
diff --git a/src/dev/x86/i8042.hh b/src/dev/x86/i8042.hh
index 5f62395..7faa760 100644
--- a/src/dev/x86/i8042.hh
+++ b/src/dev/x86/i8042.hh
@@ -108,8 +108,8 @@
static const uint16_t NoCommand = (uint16_t)(-1);
uint16_t lastCommand;
- std::vector<::IntSourcePin<I8042> *> mouseIntPin;
- std::vector<::IntSourcePin<I8042> *> keyboardIntPin;
+ std::vector<IntSourcePin<I8042> *> mouseIntPin;
+ std::vector<IntSourcePin<I8042> *> keyboardIntPin;
PS2Device *mouse;
PS2Device *keyboard;
diff --git a/src/dev/x86/i82094aa.cc b/src/dev/x86/i82094aa.cc
index 81f1c77..1fae67b 100644
--- a/src/dev/x86/i82094aa.cc
+++ b/src/dev/x86/i82094aa.cc
@@ -59,7 +59,7 @@
}
for (int i = 0; i < p->port_inputs_connection_count; i++)
- inputs.push_back(new ::IntSinkPin<I82094AA>(
+ inputs.push_back(new IntSinkPin<I82094AA>(
csprintf("%s.inputs[%d]", name(), i), i, this));
}
diff --git a/src/dev/x86/i82094aa.hh b/src/dev/x86/i82094aa.hh
index 1c65fb3..b076475 100644
--- a/src/dev/x86/i82094aa.hh
+++ b/src/dev/x86/i82094aa.hh
@@ -82,7 +82,7 @@
RedirTableEntry redirTable[TableSize];
bool pinStates[TableSize];
- std::vector<::IntSinkPin<I82094AA> *> inputs;
+ std::vector<IntSinkPin<I82094AA> *> inputs;
public:
typedef I82094AAParams Params;
diff --git a/src/dev/x86/i8254.hh b/src/dev/x86/i8254.hh
index 70a18b4..084da8ed7 100644
--- a/src/dev/x86/i8254.hh
+++ b/src/dev/x86/i8254.hh
@@ -63,7 +63,7 @@
X86Intel8254Timer pit;
- std::vector<::IntSourcePin<I8254> *> intPin;
+ std::vector<IntSourcePin<I8254> *> intPin;
void counterInterrupt(unsigned int num);
@@ -89,7 +89,7 @@
pit(p->name, this)
{
for (int i = 0; i < p->port_int_pin_connection_count; i++) {
- intPin.push_back(new ::IntSourcePin<I8254>(csprintf(
+ intPin.push_back(new IntSourcePin<I8254>(csprintf(
"%s.int_pin[%d]", name(), i), i, this));
}
}
diff --git a/src/dev/x86/i8259.cc b/src/dev/x86/i8259.cc
index 06e3bf6..a2141e5 100644
--- a/src/dev/x86/i8259.cc
+++ b/src/dev/x86/i8259.cc
@@ -44,7 +44,7 @@
readIRR(true), initControlWord(0), autoEOI(false)
{
for (int i = 0; i < p->port_output_connection_count; i++) {
- output.push_back(new ::IntSourcePin<I8259>(
+ output.push_back(new IntSourcePin<I8259>(
csprintf("%s.output[%d]", name(), i), i, this));
}
@@ -52,7 +52,7 @@
panic_if(in_count >= NumLines,
"I8259 only supports 8 inputs, but there are %d.", in_count);
for (int i = 0; i < in_count; i++) {
- inputs.push_back(new ::IntSinkPin<I8259>(
+ inputs.push_back(new IntSinkPin<I8259>(
csprintf("%s.inputs[%d]", name(), i), i, this));
}
diff --git a/src/dev/x86/i8259.hh b/src/dev/x86/i8259.hh
index 8cc12f0..f9f0aff 100644
--- a/src/dev/x86/i8259.hh
+++ b/src/dev/x86/i8259.hh
@@ -48,8 +48,8 @@
void init() override;
Tick latency;
- std::vector<::IntSourcePin<I8259> *> output;
- std::vector<::IntSinkPin<I8259> *> inputs;
+ std::vector<IntSourcePin<I8259> *> output;
+ std::vector<IntSinkPin<I8259> *> inputs;
Enums::X86I8259CascadeMode mode;
I8259 * slave;
diff --git a/src/dev/x86/intdev.cc b/src/dev/x86/intdev.cc
index a35f76b..e6c068a 100644
--- a/src/dev/x86/intdev.cc
+++ b/src/dev/x86/intdev.cc
@@ -70,21 +70,3 @@
panic("Int port not connected to anything!");
}
}
-
-X86ISA::IntSourcePin *
-X86IntSourcePinParams::create()
-{
- return new X86ISA::IntSourcePin(this);
-}
-
-X86ISA::IntSinkPin *
-X86IntSinkPinParams::create()
-{
- return new X86ISA::IntSinkPin(this);
-}
-
-X86ISA::IntLine *
-X86IntLineParams::create()
-{
- return new X86ISA::IntLine(this);
-}
diff --git a/src/dev/x86/intdev.hh b/src/dev/x86/intdev.hh
index 2e3e99d..0cc2be0 100644
--- a/src/dev/x86/intdev.hh
+++ b/src/dev/x86/intdev.hh
@@ -50,9 +50,6 @@
#include "arch/x86/intmessage.hh"
#include "arch/x86/x86_traits.hh"
#include "mem/mport.hh"
-#include "params/X86IntLine.hh"
-#include "params/X86IntSinkPin.hh"
-#include "params/X86IntSourcePin.hh"
#include "sim/sim_object.hh"
namespace X86ISA {
@@ -121,24 +118,6 @@
virtual void init();
- virtual void
- signalInterrupt(int line)
- {
- panic("signalInterrupt not implemented.\n");
- }
-
- virtual void
- raiseInterruptPin(int number)
- {
- panic("raiseInterruptPin not implemented.\n");
- }
-
- virtual void
- lowerInterruptPin(int number)
- {
- panic("lowerInterruptPin not implemented.\n");
- }
-
virtual Tick
recvMessage(PacketPtr pkt)
{
@@ -160,90 +139,6 @@
}
};
-class IntSinkPin : public SimObject
-{
- public:
- IntDevice * device;
- int number;
-
- typedef X86IntSinkPinParams Params;
-
- const Params *
- params() const
- {
- return dynamic_cast<const Params *>(_params);
- }
-
- IntSinkPin(Params *p) : SimObject(p),
- device(dynamic_cast<IntDevice *>(p->device)), number(p->number)
- {
- assert(device);
- }
-};
-
-class IntSourcePin : public SimObject
-{
- protected:
- std::vector<IntSinkPin *> sinks;
-
- public:
- typedef X86IntSourcePinParams Params;
-
- const Params *
- params() const
- {
- return dynamic_cast<const Params *>(_params);
- }
-
- void
- addSink(IntSinkPin *sink)
- {
- sinks.push_back(sink);
- }
-
- void
- raise()
- {
- for (int i = 0; i < sinks.size(); i++) {
- const IntSinkPin &pin = *sinks[i];
- pin.device->raiseInterruptPin(pin.number);
- }
- }
-
- void
- lower()
- {
- for (int i = 0; i < sinks.size(); i++) {
- const IntSinkPin &pin = *sinks[i];
- pin.device->lowerInterruptPin(pin.number);
- }
- }
-
- IntSourcePin(Params *p) : SimObject(p)
- {}
-};
-
-class IntLine : public SimObject
-{
- protected:
- IntSourcePin *source;
- IntSinkPin *sink;
-
- public:
- typedef X86IntLineParams Params;
-
- const Params *
- params() const
- {
- return dynamic_cast<const Params *>(_params);
- }
-
- IntLine(Params *p) : SimObject(p), source(p->source), sink(p->sink)
- {
- source->addSink(sink);
- }
-};
-
} // namespace X86ISA
#endif //__DEV_X86_INTDEV_HH__