util.isa (3955:9ba76c4fcaa8) util.isa (3970:d54945bab95d)
1// Copyright (c) 2006 The Regents of The University of Michigan
1// Copyright (c) 2006-2007 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
9// notice, this list of conditions and the following disclaimer in the

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

290 # and we're dealing with doubles
291 BlockAlignmentFaultCheck = '''
292 if(RD & 0xe)
293 fault = new IllegalInstruction;
294 else if(EA & 0x3f)
295 fault = new MemAddressNotAligned;
296 '''
297 TwinAlignmentFaultCheck = '''
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
9// notice, this list of conditions and the following disclaimer in the

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

290 # and we're dealing with doubles
291 BlockAlignmentFaultCheck = '''
292 if(RD & 0xe)
293 fault = new IllegalInstruction;
294 else if(EA & 0x3f)
295 fault = new MemAddressNotAligned;
296 '''
297 TwinAlignmentFaultCheck = '''
298 if(RD & 0xe)
298 if(RD & 0x1)
299 fault = new IllegalInstruction;
299 fault = new IllegalInstruction;
300 else if(EA & 0x1f)
300 else if(EA & 0xf)
301 fault = new MemAddressNotAligned;
302 '''
303 # XXX Need to take care of pstate.hpriv as well. The lower ASIs
304 # are split into ones that are available in priv and hpriv, and
305 # those that are only available in hpriv
306 AlternateASIPrivFaultCheck = '''
307 if(!bits(Pstate,2,2) && !bits(Hpstate,2,2) && !AsiIsUnPriv((ASI)EXT_ASI) ||
308 !bits(Hpstate,2,2) && AsiIsHPriv((ASI)EXT_ASI))

--- 39 unchanged lines hidden ---
301 fault = new MemAddressNotAligned;
302 '''
303 # XXX Need to take care of pstate.hpriv as well. The lower ASIs
304 # are split into ones that are available in priv and hpriv, and
305 # those that are only available in hpriv
306 AlternateASIPrivFaultCheck = '''
307 if(!bits(Pstate,2,2) && !bits(Hpstate,2,2) && !AsiIsUnPriv((ASI)EXT_ASI) ||
308 !bits(Hpstate,2,2) && AsiIsHPriv((ASI)EXT_ASI))

--- 39 unchanged lines hidden ---