summaryrefslogtreecommitdiff
path: root/src/dev/x86
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2008-10-11 01:49:39 -0700
committerGabe Black <gblack@eecs.umich.edu>2008-10-11 01:49:39 -0700
commita6600fdd8885f9765c859935a5c97d9017653745 (patch)
tree9cbb4d0ff97259066774b67f5e9a353eaed45a4e /src/dev/x86
parent539563e04b4925e88c28cb44f5180915c3b3a5be (diff)
downloadgem5-a6600fdd8885f9765c859935a5c97d9017653745.tar.xz
Devices: Make the Intel8254Timer device only use pointers to its counters.
Diffstat (limited to 'src/dev/x86')
-rw-r--r--src/dev/x86/pc.cc4
-rw-r--r--src/dev/x86/south_bridge/i8254.cc12
-rw-r--r--src/dev/x86/south_bridge/speaker.cc2
3 files changed, 9 insertions, 9 deletions
diff --git a/src/dev/x86/pc.cc b/src/dev/x86/pc.cc
index d04529ab9..3de28bce5 100644
--- a/src/dev/x86/pc.cc
+++ b/src/dev/x86/pc.cc
@@ -64,8 +64,8 @@ PC::init()
//Timer 0, latch command
timer.writeControl(0x00);
//Write a 16 bit count of 0
- timer.counter0.write(0);
- timer.counter0.write(0);
+ timer.writeCounter(0, 0);
+ timer.writeCounter(0, 0);
}
Tick
diff --git a/src/dev/x86/south_bridge/i8254.cc b/src/dev/x86/south_bridge/i8254.cc
index 7c3501c37..c9c0d625a 100644
--- a/src/dev/x86/south_bridge/i8254.cc
+++ b/src/dev/x86/south_bridge/i8254.cc
@@ -38,13 +38,13 @@ X86ISA::I8254::read(PacketPtr pkt)
switch(pkt->getAddr() - addrRange.start)
{
case 0x0:
- pkt->set(pit.counter0.read());
+ pkt->set(pit.readCounter(0));
break;
case 0x1:
- pkt->set(pit.counter1.read());
+ pkt->set(pit.readCounter(1));
break;
case 0x2:
- pkt->set(pit.counter2.read());
+ pkt->set(pit.readCounter(2));
break;
case 0x3:
pkt->set(uint8_t(-1));
@@ -62,13 +62,13 @@ X86ISA::I8254::write(PacketPtr pkt)
switch(pkt->getAddr() - addrRange.start)
{
case 0x0:
- pit.counter0.write(pkt->get<uint8_t>());
+ pit.writeCounter(0, pkt->get<uint8_t>());
break;
case 0x1:
- pit.counter1.write(pkt->get<uint8_t>());
+ pit.writeCounter(1, pkt->get<uint8_t>());
break;
case 0x2:
- pit.counter2.write(pkt->get<uint8_t>());
+ pit.writeCounter(2, pkt->get<uint8_t>());
break;
case 0x3:
pit.writeControl(pkt->get<uint8_t>());
diff --git a/src/dev/x86/south_bridge/speaker.cc b/src/dev/x86/south_bridge/speaker.cc
index 784c9504b..59a86c634 100644
--- a/src/dev/x86/south_bridge/speaker.cc
+++ b/src/dev/x86/south_bridge/speaker.cc
@@ -39,7 +39,7 @@ X86ISA::Speaker::read(PacketPtr pkt)
{
assert(pkt->getAddr() == addrRange.start);
assert(pkt->getSize() == 1);
- controlVal.timer = timer->pit.counter2.outputHigh() ? 1 : 0;
+ controlVal.timer = timer->pit.outputHigh(2) ? 1 : 0;
DPRINTF(PCSpeaker,
"Reading from speaker device: gate %s, speaker %s, output %s.\n",
controlVal.gate ? "on" : "off",