diff options
author | Nathan Binkert <binkertn@umich.edu> | 2004-10-22 01:34:40 -0400 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2004-10-22 01:34:40 -0400 |
commit | b881408ed76a0ad9bd6a3992230b89dcec3a25bd (patch) | |
tree | 765f012ba50169db14f16763e5297ebd5be0cb27 /dev/uart.cc | |
parent | f267dc4a8729179ed99ec591af2ba434cb644755 (diff) | |
download | gem5-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.cc | 4 |
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; } |