dev, x86: Delete the now unused X86 specific interrupt pins/lines.
authorGabe Black <gabeblack@google.com>
Fri, 6 Sep 2019 22:14:00 +0000 (15:14 -0700)
committerGabe Black <gabeblack@google.com>
Fri, 20 Sep 2019 17:55:13 +0000 (17:55 +0000)
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>
12 files changed:
src/dev/x86/SConscript
src/dev/x86/X86IntPin.py [deleted file]
src/dev/x86/cmos.hh
src/dev/x86/i8042.cc
src/dev/x86/i8042.hh
src/dev/x86/i82094aa.cc
src/dev/x86/i82094aa.hh
src/dev/x86/i8254.hh
src/dev/x86/i8259.cc
src/dev/x86/i8259.hh
src/dev/x86/intdev.cc
src/dev/x86/intdev.hh

index 331f0a229c010e09cfcfab5777a4095e09ef6246..4071cc8bd7c4a7f86608e19067cba5fb0461f57a 100644 (file)
@@ -65,6 +65,5 @@ if env['TARGET_ISA'] == 'x86':
     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 (file)
index 53760b4..0000000
+++ /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")
index 2f662070d03e4f4e4adee3bd27710b831fa2d4f6..b4ab8e7969443471adf4e11f95d74197539cc1f8 100644 (file)
@@ -56,14 +56,14 @@ class Cmos : public BasicPioDevice
     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));
             }
         }
index 2211df85b8c5c03c06ab40768a2a0ec64e01a68c..3c3cceb2da892f0beff897f4bb5cdf50a5232807 100644 (file)
@@ -64,11 +64,11 @@ X86ISA::I8042::I8042(Params *p)
     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));
     }
 }
index 5f62395ddd4129aca05126e9c0b8b597868765da..7faa760b60cf60e86c91f606c8dd797a60659fc5 100644 (file)
@@ -108,8 +108,8 @@ class I8042 : public BasicPioDevice
     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;
index 81f1c77eec607387a775a59c1540a7c554d5c98c..1fae67b09aafe3fc6f7037a311d1346ef9b9a7c2 100644 (file)
@@ -59,7 +59,7 @@ X86ISA::I82094AA::I82094AA(Params *p)
     }
 
     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));
 }
 
index 1c65fb310735441456153fb03926e24005f954f2..b0764758a515da1484f8f343c31af3e3f059b798 100644 (file)
@@ -82,7 +82,7 @@ class I82094AA : public BasicPioDevice, public IntDevice
     RedirTableEntry redirTable[TableSize];
     bool pinStates[TableSize];
 
-    std::vector<::IntSinkPin<I82094AA> *> inputs;
+    std::vector<IntSinkPin<I82094AA> *> inputs;
 
   public:
     typedef I82094AAParams Params;
index 70a18b47c8b25881577faa8a73413b13284339c2..084da8ed7523a3b383cf58c26ed7a44d6860c0dd 100644 (file)
@@ -63,7 +63,7 @@ class I8254 : public BasicPioDevice
 
     X86Intel8254Timer pit;
 
-    std::vector<::IntSourcePin<I8254> *> intPin;
+    std::vector<IntSourcePin<I8254> *> intPin;
 
     void counterInterrupt(unsigned int num);
 
@@ -89,7 +89,7 @@ class I8254 : public BasicPioDevice
             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));
         }
     }
index 06e3bf65938c965e2f0ba2a6d2f84e645c7eaa91..a2141e5c66b28ad47925d483f2935c8f6fc69ec8 100644 (file)
@@ -44,7 +44,7 @@ X86ISA::I8259::I8259(Params * p)
       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 @@ X86ISA::I8259::I8259(Params * p)
     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));
     }
 
index 8cc12f0be2293a79b19b69adec37b06b7d3bde4e..f9f0afff82d632d6cca7a5cc049059a38a41f47f 100644 (file)
@@ -48,8 +48,8 @@ class I8259 : public BasicPioDevice
     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;
 
index a35f76b5fc0331f06368b116bdbd4cb5654c6d62..e6c068a276c6dc100fa7f43473200c7718e02b86 100644 (file)
@@ -70,21 +70,3 @@ X86ISA::IntDevice::init()
         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);
-}
index 2e3e99df060a7580fd7079a9bcd1baa96175bd7f..0cc2be032f9888f682f6cd310027cfc7207d1916 100644 (file)
@@ -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 @@ class IntDevice
 
     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 IntDevice
     }
 };
 
-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__