summaryrefslogtreecommitdiff
path: root/dev/uart.cc
diff options
context:
space:
mode:
authorNathan Binkert <binkertn@umich.edu>2004-10-22 01:34:40 -0400
committerNathan Binkert <binkertn@umich.edu>2004-10-22 01:34:40 -0400
commitb881408ed76a0ad9bd6a3992230b89dcec3a25bd (patch)
tree765f012ba50169db14f16763e5297ebd5be0cb27 /dev/uart.cc
parentf267dc4a8729179ed99ec591af2ba434cb644755 (diff)
downloadgem5-b881408ed76a0ad9bd6a3992230b89dcec3a25bd.tar.xz
Clean up the Range class and associated usages. The code was
never clear about whether the end of the range was inclusive or exclusive. Make it inclusive, but also provide a RangeSize() function that will generate a Range based on a start and a size. This, in combination with using the comparison operators, makes almost all usages of the range not care how it is stored. base/range.cc: Make the end of the range inclusive. start/end -> first/last (end seems too much like end() in stl) base/range.hh: Make the end of the range inclusive. Fix all comparison operators so that they work correctly with an inclusive range. Also, when comparing one range to another with <, <=, >, >=, we only look at the beginning of the range beacuse x <= y should be the same as x < y || x == y. (This wasn't the case before.) Add a few functions for making a range: RangeSize is start and size RangeEx is start and end where end is exclusive RangeIn is start and end where end is inclusive start/end -> first/last (end seems too much like end() in stl) dev/alpha_console.cc: dev/baddev.cc: dev/ide_ctrl.cc: dev/ns_gige.cc: dev/pciconfigall.cc: dev/pcidev.cc: dev/tsunami_cchip.cc: dev/tsunami_io.cc: dev/tsunami_pchip.cc: dev/uart.cc: Use the RangeSize function to create a range. --HG-- extra : convert_revision : 29a7eb7fce745680f1c77fefff456c2144bc3994
Diffstat (limited to 'dev/uart.cc')
-rw-r--r--dev/uart.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/dev/uart.cc b/dev/uart.cc
index f03e3899f..b71ab2d44 100644
--- a/dev/uart.cc
+++ b/dev/uart.cc
@@ -92,13 +92,13 @@ Uart::Uart(const string &name, SimConsole *c, MemoryController *mmu, Addr a,
: PioDevice(name), addr(a), size(s), cons(c), txIntrEvent(this, TX_INT),
rxIntrEvent(this, RX_INT), platform(p)
{
- mmu->add_child(this, Range<Addr>(addr, addr + size));
+ mmu->add_child(this, RangeSize(addr, size));
if (bus) {
pioInterface = newPioInterface(name, hier, bus, this,
&Uart::cacheAccess);
- pioInterface->addAddrRange(addr, addr + size - 1);
+ pioInterface->addAddrRange(RangeSize(addr, size));
pioLatency = pio_latency * bus->clockRatio;
}