summaryrefslogtreecommitdiff
path: root/src/dev/x86/X86IntPin.py
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-01-31 23:33:54 -0800
committerGabe Black <gblack@eecs.umich.edu>2009-01-31 23:33:54 -0800
commit6a3f255a84d93f3e621319fd81f355416e385c8c (patch)
treee6dd2386d3989fdd3169d66a14c1a057463ca323 /src/dev/x86/X86IntPin.py
parent64b663c6071ecd58eff6dacd38ee351038259427 (diff)
downloadgem5-6a3f255a84d93f3e621319fd81f355416e385c8c.tar.xz
X86: Rework interrupt pins to allow one to many connections.
Diffstat (limited to 'src/dev/x86/X86IntPin.py')
-rw-r--r--src/dev/x86/X86IntPin.py24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/dev/x86/X86IntPin.py b/src/dev/x86/X86IntPin.py
index 372b4ab66..35e274624 100644
--- a/src/dev/x86/X86IntPin.py
+++ b/src/dev/x86/X86IntPin.py
@@ -29,9 +29,23 @@
from m5.params import *
from m5.SimObject import SimObject
-class X86IntPin(SimObject):
- type = 'X86IntPin'
- cxx_class = 'X86ISA::IntPin'
+# A generic pin to drive an interrupt signal generated by a device.
+class X86IntSourcePin(SimObject):
+ type = 'X86IntSourcePin'
+ cxx_class = 'X86ISA::IntSourcePin'
- line = Param.Int("Interrupt line for this pin")
- device = Param.SimObject("Device which handles interrupts")
+# A generic pin to receive an interrupt signal generated by another device.
+class X86IntSinkPin(SimObject):
+ type = 'X86IntSinkPin'
+ cxx_class = 'X86ISA::IntSinkPin'
+
+ 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'
+
+ source = Param.X86IntSourcePin("Pin driving this line")
+ sink = Param.X86IntSinkPin("Pin driven by this line")