Address.cc (9231:cecc64db9b3b) Address.cc (9362:d7f4abbf52e3)
1/*
2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

21 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
1/*
2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

21 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#include "arch/isa_traits.hh"
30#include "config/the_isa.hh"
29#include "mem/ruby/common/Address.hh"
30#include "mem/ruby/system/System.hh"
31
32physical_address_t
33Address::getLineAddress() const
34{
35 return bitSelect(RubySystem::getBlockSizeBits(), ADDRESS_WIDTH);
36}

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

129 if (this == &obj) {
130 // assert(false);
131 } else {
132 m_address = obj.m_address;
133 }
134 return *this;
135}
136
31#include "mem/ruby/common/Address.hh"
32#include "mem/ruby/system/System.hh"
33
34physical_address_t
35Address::getLineAddress() const
36{
37 return bitSelect(RubySystem::getBlockSizeBits(), ADDRESS_WIDTH);
38}

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

131 if (this == &obj) {
132 // assert(false);
133 } else {
134 m_address = obj.m_address;
135 }
136 return *this;
137}
138
139void
140Address::makePageAddress()
141{
142 m_address = maskLowOrderBits(TheISA::LogVMPageSize);
143}
144
145Address
146page_address(const Address& addr)
147{
148 Address temp = addr;
149 temp.makePageAddress();
150 return temp;
151}
152
153Address
154next_stride_address(const Address& addr, int stride)
155{
156 Address temp = addr;
157 temp.makeNextStrideAddress(stride);
158 return temp;
159}