util.isa (3954:d689b611d9dc) | util.isa (3955:9ba76c4fcaa8) |
---|---|
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 --- 280 unchanged lines hidden (view full) --- 289 # The LSB can be zero, since it's really the MSB in doubles and quads 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 ''' | 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 --- 280 unchanged lines hidden (view full) --- 289 # The LSB can be zero, since it's really the MSB in doubles and quads 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) 299 fault = new IllegalInstruction; 300 else if(EA & 0x1f) 301 fault = new MemAddressNotAligned; 302 ''' |
|
297 # XXX Need to take care of pstate.hpriv as well. The lower ASIs 298 # are split into ones that are available in priv and hpriv, and 299 # those that are only available in hpriv 300 AlternateASIPrivFaultCheck = ''' 301 if(!bits(Pstate,2,2) && !bits(Hpstate,2,2) && !AsiIsUnPriv((ASI)EXT_ASI) || 302 !bits(Hpstate,2,2) && AsiIsHPriv((ASI)EXT_ASI)) 303 fault = new PrivilegedAction; 304 else if(AsiIsAsIfUser((ASI)EXT_ASI) && !bits(Pstate,2,2)) --- 37 unchanged lines hidden --- | 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)) 309 fault = new PrivilegedAction; 310 else if(AsiIsAsIfUser((ASI)EXT_ASI) && !bits(Pstate,2,2)) --- 37 unchanged lines hidden --- |