ldstop.isa (6624:b157ef23d76c) | ldstop.isa (6736:530e457c88c7) |
---|---|
1// Copyright (c) 2008 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 143 unchanged lines hidden (view full) --- 152 %(op_rd)s; 153 %(ea_code)s; 154 DPRINTF(X86, "%s : %s: The address is %#x\n", instMnem, mnemonic, EA); 155 156 fault = read(xc, EA, Mem, memFlags); 157 158 if (fault == NoFault) { 159 %(code)s; | 1// Copyright (c) 2008 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 143 unchanged lines hidden (view full) --- 152 %(op_rd)s; 153 %(ea_code)s; 154 DPRINTF(X86, "%s : %s: The address is %#x\n", instMnem, mnemonic, EA); 155 156 fault = read(xc, EA, Mem, memFlags); 157 158 if (fault == NoFault) { 159 %(code)s; |
160 } else if (memFlags & Request::PF_EXCLUSIVE) { | 160 } else if (memFlags & Request::PREFETCH) { |
161 // For prefetches, ignore any faults/exceptions. 162 return NoFault; 163 } 164 if(fault == NoFault) 165 { 166 %(op_wb)s; 167 } 168 --- 200 unchanged lines hidden (view full) --- 369 self.disp = disp 370 self.segment = segment 371 self.dataSize = dataSize 372 self.addressSize = addressSize 373 self.memFlags = baseFlags 374 if atCPL0: 375 self.memFlags += " | (CPL0FlagBit << FlagShift)" 376 if prefetch: | 161 // For prefetches, ignore any faults/exceptions. 162 return NoFault; 163 } 164 if(fault == NoFault) 165 { 166 %(op_wb)s; 167 } 168 --- 200 unchanged lines hidden (view full) --- 369 self.disp = disp 370 self.segment = segment 371 self.dataSize = dataSize 372 self.addressSize = addressSize 373 self.memFlags = baseFlags 374 if atCPL0: 375 self.memFlags += " | (CPL0FlagBit << FlagShift)" 376 if prefetch: |
377 self.memFlags += " | Request::PF_EXCLUSIVE" | 377 self.memFlags += " | Request::PREFETCH" |
378 self.memFlags += " | (machInst.legacy.addr ? " + \ 379 "(AddrSizeFlagBit << FlagShift) : 0)" 380 381 def getAllocator(self, *microFlags): 382 allocator = '''new %(class_name)s(machInst, macrocodeBlock 383 %(flags)s, %(scale)s, %(index)s, %(base)s, 384 %(disp)s, %(segment)s, %(data)s, 385 %(dataSize)s, %(addressSize)s, %(memFlags)s)''' % { --- 154 unchanged lines hidden --- | 378 self.memFlags += " | (machInst.legacy.addr ? " + \ 379 "(AddrSizeFlagBit << FlagShift) : 0)" 380 381 def getAllocator(self, *microFlags): 382 allocator = '''new %(class_name)s(machInst, macrocodeBlock 383 %(flags)s, %(scale)s, %(index)s, %(base)s, 384 %(disp)s, %(segment)s, %(data)s, 385 %(dataSize)s, %(addressSize)s, %(memFlags)s)''' % { --- 154 unchanged lines hidden --- |