util.isa (3835:97b3b03865fb) util.isa (3863:adf3ddd4bcde)
1// Copyright (c) 2006 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

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

280 # and we're dealing with doubles
281 BlockAlignmentFaultCheck = '''
282 if(RD & 0xe)
283 fault = new IllegalInstruction;
284 else if(EA & 0x3f)
285 fault = new MemAddressNotAligned;
286 '''
287 TwinAlignmentFaultCheck = '''
1// Copyright (c) 2006 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

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

280 # and we're dealing with doubles
281 BlockAlignmentFaultCheck = '''
282 if(RD & 0xe)
283 fault = new IllegalInstruction;
284 else if(EA & 0x3f)
285 fault = new MemAddressNotAligned;
286 '''
287 TwinAlignmentFaultCheck = '''
288 if(RD & 0xe)
288 if(RD & 0x1)
289 fault = new IllegalInstruction;
289 fault = new IllegalInstruction;
290 else if(EA & 0x1f)
290 else if(EA & 0xf)
291 fault = new MemAddressNotAligned;
292 '''
293 # XXX Need to take care of pstate.hpriv as well. The lower ASIs
294 # are split into ones that are available in priv and hpriv, and
295 # those that are only available in hpriv
296 AlternateASIPrivFaultCheck = '''
297 if(!bits(Pstate,2,2) && !bits(Hpstate,2,2) && !AsiIsUnPriv((ASI)EXT_ASI) ||
298 !bits(Hpstate,2,2) && AsiIsHPriv((ASI)EXT_ASI))

--- 48 unchanged lines hidden ---
291 fault = new MemAddressNotAligned;
292 '''
293 # XXX Need to take care of pstate.hpriv as well. The lower ASIs
294 # are split into ones that are available in priv and hpriv, and
295 # those that are only available in hpriv
296 AlternateASIPrivFaultCheck = '''
297 if(!bits(Pstate,2,2) && !bits(Hpstate,2,2) && !AsiIsUnPriv((ASI)EXT_ASI) ||
298 !bits(Hpstate,2,2) && AsiIsHPriv((ASI)EXT_ASI))

--- 48 unchanged lines hidden ---