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} |
|