From f22c7d48f3b99994c697075f5cc3b59c72f84092 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sat, 11 Oct 2008 01:13:11 -0700 Subject: X86: Change the CMOS from a sub-device to a real SimObject --HG-- rename : src/dev/x86/south_bridge/cmos.cc => src/dev/x86/cmos.cc rename : src/dev/x86/south_bridge/cmos.hh => src/dev/x86/cmos.hh --- src/dev/x86/Cmos.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/dev/x86/Cmos.py (limited to 'src/dev/x86/Cmos.py') diff --git a/src/dev/x86/Cmos.py b/src/dev/x86/Cmos.py new file mode 100644 index 000000000..c786eda36 --- /dev/null +++ b/src/dev/x86/Cmos.py @@ -0,0 +1,38 @@ +# 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.proxy import * +from Device import BasicPioDevice + +class Cmos(BasicPioDevice): + type = 'Cmos' + cxx_class='X86ISA::Cmos' + time = Param.Time('01/01/2009', + "System time to use ('Now' for actual time)") + pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks") -- cgit v1.2.3 From 8c532d629732e93fa23a38328b653eb4c2314936 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sat, 11 Oct 2008 01:31:32 -0700 Subject: X86: Hook the CMOS device to the I8259 PICs. --- src/dev/x86/Cmos.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/dev/x86/Cmos.py') diff --git a/src/dev/x86/Cmos.py b/src/dev/x86/Cmos.py index c786eda36..810432035 100644 --- a/src/dev/x86/Cmos.py +++ b/src/dev/x86/Cmos.py @@ -29,6 +29,7 @@ from m5.params import * from m5.proxy import * from Device import BasicPioDevice +from I8259 import I8259 class Cmos(BasicPioDevice): type = 'Cmos' @@ -36,3 +37,6 @@ class Cmos(BasicPioDevice): time = Param.Time('01/01/2009', "System time to use ('Now' for actual time)") pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks") + i8259 = Param.I8259('PIC to send RTC alarm interrupts to') + int_line = Param.Int(0, + 'PIC relative interrupt line to use for alarm interrupts') -- cgit v1.2.3 From 539563e04b4925e88c28cb44f5180915c3b3a5be Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sat, 11 Oct 2008 01:45:25 -0700 Subject: X86: Make the CMOS and I8259 devices use IntDev and IntPin. --- src/dev/x86/Cmos.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src/dev/x86/Cmos.py') diff --git a/src/dev/x86/Cmos.py b/src/dev/x86/Cmos.py index 810432035..a9910f70d 100644 --- a/src/dev/x86/Cmos.py +++ b/src/dev/x86/Cmos.py @@ -29,7 +29,6 @@ from m5.params import * from m5.proxy import * from Device import BasicPioDevice -from I8259 import I8259 class Cmos(BasicPioDevice): type = 'Cmos' @@ -37,6 +36,4 @@ class Cmos(BasicPioDevice): time = Param.Time('01/01/2009', "System time to use ('Now' for actual time)") pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks") - i8259 = Param.I8259('PIC to send RTC alarm interrupts to') - int_line = Param.Int(0, - 'PIC relative interrupt line to use for alarm interrupts') + int_pin = Param.X86IntPin('Pin to signal RTC alarm interrupts to') -- cgit v1.2.3 From 6a3f255a84d93f3e621319fd81f355416e385c8c Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sat, 31 Jan 2009 23:33:54 -0800 Subject: X86: Rework interrupt pins to allow one to many connections. --- src/dev/x86/Cmos.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/dev/x86/Cmos.py') diff --git a/src/dev/x86/Cmos.py b/src/dev/x86/Cmos.py index a9910f70d..0a92145e2 100644 --- a/src/dev/x86/Cmos.py +++ b/src/dev/x86/Cmos.py @@ -29,6 +29,7 @@ from m5.params import * from m5.proxy import * from Device import BasicPioDevice +from X86IntPin import X86IntSourcePin class Cmos(BasicPioDevice): type = 'Cmos' @@ -36,4 +37,5 @@ class Cmos(BasicPioDevice): time = Param.Time('01/01/2009', "System time to use ('Now' for actual time)") pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks") - int_pin = Param.X86IntPin('Pin to signal RTC alarm interrupts to') + int_pin = Param.X86IntSourcePin(X86IntSourcePin(), + 'Pin to signal RTC alarm interrupts to') -- cgit v1.2.3