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 --- |