1// -*- mode:c++ -*- 2 3// Copyright (c) 2010, 2012, 2014, 2016 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 568 unchanged lines hidden (view full) --- 577 class %(class_name)s : public %(base_class)s 578 { 579 public: 580 581 /// Constructor. 582 %(class_name)s(ExtMachInst machInst, 583 uint32_t _base, int _mode, bool _wb); 584 |
585 Fault execute(ExecContext *, Trace::InstRecord *) const override; 586 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 587 Fault completeAcc(PacketPtr, ExecContext *, 588 Trace::InstRecord *) const override; |
589 }; 590}}; 591 592def template SrsDeclare {{ 593 /** 594 * Static instruction class for "%(mnemonic)s". 595 */ 596 class %(class_name)s : public %(base_class)s 597 { 598 public: 599 600 /// Constructor. 601 %(class_name)s(ExtMachInst machInst, 602 uint32_t _regMode, int _mode, bool _wb); 603 |
604 Fault execute(ExecContext *, Trace::InstRecord *) const override; 605 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 606 Fault completeAcc(PacketPtr, ExecContext *, 607 Trace::InstRecord *) const override; |
608 }; 609}}; 610 611def template SwapDeclare {{ 612 /** 613 * Static instruction class for "%(mnemonic)s". 614 */ 615 class %(class_name)s : public %(base_class)s 616 { 617 public: 618 619 /// Constructor. 620 %(class_name)s(ExtMachInst machInst, 621 uint32_t _dest, uint32_t _op1, uint32_t _base); 622 |
623 Fault execute(ExecContext *, Trace::InstRecord *) const override; 624 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 625 Fault completeAcc(PacketPtr, ExecContext *, 626 Trace::InstRecord *) const override; |
627 }; 628}}; 629 630def template LoadStoreDImmDeclare {{ 631 /** 632 * Static instruction class for "%(mnemonic)s". 633 */ 634 class %(class_name)s : public %(base_class)s 635 { 636 public: 637 638 /// Constructor. 639 %(class_name)s(ExtMachInst machInst, 640 uint32_t _dest, uint32_t _dest2, 641 uint32_t _base, bool _add, int32_t _imm); 642 |
643 Fault execute(ExecContext *, Trace::InstRecord *) const override; 644 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 645 Fault completeAcc(PacketPtr, ExecContext *, 646 Trace::InstRecord *) const override; |
647 }; 648}}; 649 650def template StoreExDImmDeclare {{ 651 /** 652 * Static instruction class for "%(mnemonic)s". 653 */ 654 class %(class_name)s : public %(base_class)s 655 { 656 public: 657 658 /// Constructor. 659 %(class_name)s(ExtMachInst machInst, 660 uint32_t _result, uint32_t _dest, uint32_t _dest2, 661 uint32_t _base, bool _add, int32_t _imm); 662 |
663 Fault execute(ExecContext *, Trace::InstRecord *) const override; 664 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 665 Fault completeAcc(PacketPtr, ExecContext *, 666 Trace::InstRecord *) const override; |
667 }; 668}}; 669 670def template LoadStoreImmDeclare {{ 671 /** 672 * Static instruction class for "%(mnemonic)s". 673 */ 674 class %(class_name)s : public %(base_class)s 675 { 676 public: 677 678 /// Constructor. 679 %(class_name)s(ExtMachInst machInst, 680 uint32_t _dest, uint32_t _base, bool _add, int32_t _imm); 681 |
682 Fault execute(ExecContext *, Trace::InstRecord *) const override; 683 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 684 Fault completeAcc(PacketPtr, ExecContext *, 685 Trace::InstRecord *) const override; |
686 |
687 void 688 annotateFault(ArmFault *fault) override 689 { |
690 %(fa_code)s 691 } 692 }; 693}}; 694 695def template StoreExImmDeclare {{ 696 /** 697 * Static instruction class for "%(mnemonic)s". 698 */ 699 class %(class_name)s : public %(base_class)s 700 { 701 public: 702 703 /// Constructor. 704 %(class_name)s(ExtMachInst machInst, 705 uint32_t _result, uint32_t _dest, uint32_t _base, 706 bool _add, int32_t _imm); 707 |
708 Fault execute(ExecContext *, Trace::InstRecord *) const override; 709 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 710 Fault completeAcc(PacketPtr, ExecContext *, 711 Trace::InstRecord *) const override; |
712 }; 713}}; 714 715def template StoreDRegDeclare {{ 716 /** 717 * Static instruction class for "%(mnemonic)s". 718 */ 719 class %(class_name)s : public %(base_class)s 720 { 721 public: 722 723 /// Constructor. 724 %(class_name)s(ExtMachInst machInst, 725 uint32_t _dest, uint32_t _dest2, 726 uint32_t _base, bool _add, 727 int32_t _shiftAmt, uint32_t _shiftType, 728 uint32_t _index); 729 |
730 Fault execute(ExecContext *, Trace::InstRecord *) const override; 731 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 732 Fault completeAcc(PacketPtr, ExecContext *, 733 Trace::InstRecord *) const override; |
734 }; 735}}; 736 737def template StoreRegDeclare {{ 738 /** 739 * Static instruction class for "%(mnemonic)s". 740 */ 741 class %(class_name)s : public %(base_class)s 742 { 743 public: 744 745 /// Constructor. 746 %(class_name)s(ExtMachInst machInst, 747 uint32_t _dest, uint32_t _base, bool _add, 748 int32_t _shiftAmt, uint32_t _shiftType, 749 uint32_t _index); 750 |
751 Fault execute(ExecContext *, Trace::InstRecord *) const override; 752 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 753 Fault completeAcc(PacketPtr, ExecContext *, 754 Trace::InstRecord *) const override; |
755 |
756 void 757 annotateFault(ArmFault *fault) override 758 { |
759 %(fa_code)s 760 } 761 }; 762}}; 763 764def template LoadDRegDeclare {{ 765 /** 766 * Static instruction class for "%(mnemonic)s". --- 4 unchanged lines hidden (view full) --- 771 772 /// Constructor. 773 %(class_name)s(ExtMachInst machInst, 774 uint32_t _dest, uint32_t _dest2, 775 uint32_t _base, bool _add, 776 int32_t _shiftAmt, uint32_t _shiftType, 777 uint32_t _index); 778 |
779 Fault execute(ExecContext *, Trace::InstRecord *) const override; 780 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 781 Fault completeAcc(PacketPtr, ExecContext *, 782 Trace::InstRecord *) const override; |
783 }; 784}}; 785 786def template LoadRegDeclare {{ 787 /** 788 * Static instruction class for "%(mnemonic)s". 789 */ 790 class %(class_name)s : public %(base_class)s 791 { 792 public: 793 794 /// Constructor. 795 %(class_name)s(ExtMachInst machInst, 796 uint32_t _dest, uint32_t _base, bool _add, 797 int32_t _shiftAmt, uint32_t _shiftType, 798 uint32_t _index); 799 |
800 Fault execute(ExecContext *, Trace::InstRecord *) const override; 801 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 802 Fault completeAcc(PacketPtr, ExecContext *, 803 Trace::InstRecord *) const override; |
804 |
805 void 806 annotateFault(ArmFault *fault) override 807 { |
808 %(fa_code)s 809 } 810 }; 811}}; 812 813def template LoadImmDeclare {{ 814 /** 815 * Static instruction class for "%(mnemonic)s". 816 */ 817 class %(class_name)s : public %(base_class)s 818 { 819 public: 820 821 /// Constructor. 822 %(class_name)s(ExtMachInst machInst, 823 uint32_t _dest, uint32_t _base, bool _add, int32_t _imm); 824 |
825 Fault execute(ExecContext *, Trace::InstRecord *) const override; 826 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override; 827 Fault completeAcc(PacketPtr, ExecContext *, 828 Trace::InstRecord *) const override; |
829 |
830 void 831 annotateFault(ArmFault *fault) override 832 { |
833 %(fa_code)s 834 } 835 }; 836}}; 837 838def template RfeConstructor {{ 839 %(class_name)s::%(class_name)s(ExtMachInst machInst, 840 uint32_t _base, int _mode, bool _wb) --- 402 unchanged lines hidden --- |