decoder.isa (3417:41aab2d0319b) decoder.isa (3423:cda777af199c)
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

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

442 Cansave = Cansave - 1;
443 else
444 Otherwin = Otherwin - 1;
445 }});
446 }
447 0x32: Priv::wrpr({{
448 // XXX Need to protect with format that traps non-priv
449 // access
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

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

442 Cansave = Cansave - 1;
443 else
444 Otherwin = Otherwin - 1;
445 }});
446 }
447 0x32: Priv::wrpr({{
448 // XXX Need to protect with format that traps non-priv
449 // access
450 fault = xc->setMiscRegWithEffect(RD + PrStart, Rs1 ^ Rs2_or_imm13);
450 xc->setMiscRegWithEffect(RD + PrStart, Rs1 ^ Rs2_or_imm13);
451 }});
452 0x33: HPriv::wrhpr({{
453 // XXX Need to protect with format that traps non-priv/priv
454 // access
451 }});
452 0x33: HPriv::wrhpr({{
453 // XXX Need to protect with format that traps non-priv/priv
454 // access
455 fault = xc->setMiscRegWithEffect(RD + HprStart, Rs1 ^ Rs2_or_imm13);
455 xc->setMiscRegWithEffect(RD + HprStart, Rs1 ^ Rs2_or_imm13);
456 }});
457 0x34: decode OPF{
458 format BasicOperate{
459 0x01: fmovs({{
460 Frds.uw = Frs2s.uw;
461 //fsr.ftt = fsr.cexc = 0
462 Fsr &= ~(7 << 14);
463 Fsr &= ~(0x1F);

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

714 //reading from the old one
715 Cwp = (Cwp - 1 + NWindows) % NWindows;
716 Cansave = Cansave + 1;
717 Canrestore = Canrestore - 1;
718 //This is here to make sure the CWP is written
719 //no matter what. This ensures that the results
720 //are written in the new window as well.
721 xc->setMiscRegWithEffect(MISCREG_CWP, Cwp);
456 }});
457 0x34: decode OPF{
458 format BasicOperate{
459 0x01: fmovs({{
460 Frds.uw = Frs2s.uw;
461 //fsr.ftt = fsr.cexc = 0
462 Fsr &= ~(7 << 14);
463 Fsr &= ~(0x1F);

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

714 //reading from the old one
715 Cwp = (Cwp - 1 + NWindows) % NWindows;
716 Cansave = Cansave + 1;
717 Canrestore = Canrestore - 1;
718 //This is here to make sure the CWP is written
719 //no matter what. This ensures that the results
720 //are written in the new window as well.
721 xc->setMiscRegWithEffect(MISCREG_CWP, Cwp);
722 warn("About to set the CWP to %d\n", Cwp);
723 }
724 }
725 }});
726 0x3A: decode CC
727 {
728 0x0: Trap::tcci({{
729 if(passesCondition(Ccr<3:0>, COND2))
730 {

--- 366 unchanged lines hidden ---
722 }
723 }
724 }});
725 0x3A: decode CC
726 {
727 0x0: Trap::tcci({{
728 if(passesCondition(Ccr<3:0>, COND2))
729 {

--- 366 unchanged lines hidden ---