addr_range.hh (10435:97d6ed3054ae) addr_range.hh (10481:59fb5779ec6e)
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 31 unchanged lines hidden (view full) ---

40 * Authors: Nathan Binkert
41 * Steve Reinhardt
42 * Andreas Hansson
43 */
44
45#ifndef __BASE_ADDR_RANGE_HH__
46#define __BASE_ADDR_RANGE_HH__
47
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 31 unchanged lines hidden (view full) ---

40 * Authors: Nathan Binkert
41 * Steve Reinhardt
42 * Andreas Hansson
43 */
44
45#ifndef __BASE_ADDR_RANGE_HH__
46#define __BASE_ADDR_RANGE_HH__
47
48#include <list>
48#include <vector>
49
50#include "base/bitfield.hh"
51#include "base/cprintf.hh"
52#include "base/misc.hh"
53#include "base/types.hh"
54
55class AddrRange

--- 232 unchanged lines hidden (view full) ---

288 // for now assume that the end is also the same, and that
289 // we are looking at the same interleaving bits
290 return intlvMatch < r.intlvMatch;
291 }
292
293#endif // SWIG
294};
295
49#include <vector>
50
51#include "base/bitfield.hh"
52#include "base/cprintf.hh"
53#include "base/misc.hh"
54#include "base/types.hh"
55
56class AddrRange

--- 232 unchanged lines hidden (view full) ---

289 // for now assume that the end is also the same, and that
290 // we are looking at the same interleaving bits
291 return intlvMatch < r.intlvMatch;
292 }
293
294#endif // SWIG
295};
296
297/**
298 * Convenience typedef for a collection of address ranges
299 */
300typedef std::list<AddrRange> AddrRangeList;
301
296inline AddrRange
297RangeEx(Addr start, Addr end)
298{ return AddrRange(start, end - 1); }
299
300inline AddrRange
301RangeIn(Addr start, Addr end)
302{ return AddrRange(start, end); }
303
304inline AddrRange
305RangeSize(Addr start, Addr size)
306{ return AddrRange(start, start + size - 1); }
307
308#endif // __BASE_ADDR_RANGE_HH__
302inline AddrRange
303RangeEx(Addr start, Addr end)
304{ return AddrRange(start, end - 1); }
305
306inline AddrRange
307RangeIn(Addr start, Addr end)
308{ return AddrRange(start, end); }
309
310inline AddrRange
311RangeSize(Addr start, Addr size)
312{ return AddrRange(start, start + size - 1); }
313
314#endif // __BASE_ADDR_RANGE_HH__