faults.hh (12176:4282f755a69a) | faults.hh (12259:f787f664d57a) |
---|---|
1/* 2 * Copyright (c) 2010, 2012-2013, 2016-2017 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 532 unchanged lines hidden (view full) --- 541 SystemError(); 542 void invoke(ThreadContext *tc, const StaticInstPtr &inst = 543 StaticInst::nullStaticInstPtr) override; 544 bool routeToMonitor(ThreadContext *tc) const override; 545 bool routeToHyp(ThreadContext *tc) const override; 546}; 547 548// A fault that flushes the pipe, excluding the faulting instructions | 1/* 2 * Copyright (c) 2010, 2012-2013, 2016-2017 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 532 unchanged lines hidden (view full) --- 541 SystemError(); 542 void invoke(ThreadContext *tc, const StaticInstPtr &inst = 543 StaticInst::nullStaticInstPtr) override; 544 bool routeToMonitor(ThreadContext *tc) const override; 545 bool routeToHyp(ThreadContext *tc) const override; 546}; 547 548// A fault that flushes the pipe, excluding the faulting instructions |
549class FlushPipe : public ArmFaultVals<FlushPipe> 550{ 551 public: 552 FlushPipe() {} 553 void invoke(ThreadContext *tc, const StaticInstPtr &inst = 554 StaticInst::nullStaticInstPtr) override; 555}; 556 557// A fault that flushes the pipe, excluding the faulting instructions | |
558class ArmSev : public ArmFaultVals<ArmSev> 559{ 560 public: 561 ArmSev () {} 562 void invoke(ThreadContext *tc, const StaticInstPtr &inst = 563 StaticInst::nullStaticInstPtr) override; 564}; 565 --- 21 unchanged lines hidden (view full) --- 587template<> ArmFault::FaultVals ArmFaultVals<VirtualInterrupt>::vals; 588template<> ArmFault::FaultVals ArmFaultVals<FastInterrupt>::vals; 589template<> ArmFault::FaultVals ArmFaultVals<VirtualFastInterrupt>::vals; 590template<> ArmFault::FaultVals ArmFaultVals<SupervisorTrap>::vals; 591template<> ArmFault::FaultVals ArmFaultVals<SecureMonitorTrap>::vals; 592template<> ArmFault::FaultVals ArmFaultVals<PCAlignmentFault>::vals; 593template<> ArmFault::FaultVals ArmFaultVals<SPAlignmentFault>::vals; 594template<> ArmFault::FaultVals ArmFaultVals<SystemError>::vals; | 549class ArmSev : public ArmFaultVals<ArmSev> 550{ 551 public: 552 ArmSev () {} 553 void invoke(ThreadContext *tc, const StaticInstPtr &inst = 554 StaticInst::nullStaticInstPtr) override; 555}; 556 --- 21 unchanged lines hidden (view full) --- 578template<> ArmFault::FaultVals ArmFaultVals<VirtualInterrupt>::vals; 579template<> ArmFault::FaultVals ArmFaultVals<FastInterrupt>::vals; 580template<> ArmFault::FaultVals ArmFaultVals<VirtualFastInterrupt>::vals; 581template<> ArmFault::FaultVals ArmFaultVals<SupervisorTrap>::vals; 582template<> ArmFault::FaultVals ArmFaultVals<SecureMonitorTrap>::vals; 583template<> ArmFault::FaultVals ArmFaultVals<PCAlignmentFault>::vals; 584template<> ArmFault::FaultVals ArmFaultVals<SPAlignmentFault>::vals; 585template<> ArmFault::FaultVals ArmFaultVals<SystemError>::vals; |
595template<> ArmFault::FaultVals ArmFaultVals<FlushPipe>::vals; | |
596template<> ArmFault::FaultVals ArmFaultVals<ArmSev>::vals; 597 598 599} // namespace ArmISA 600 601#endif // __ARM_FAULTS_HH__ | 586template<> ArmFault::FaultVals ArmFaultVals<ArmSev>::vals; 587 588 589} // namespace ArmISA 590 591#endif // __ARM_FAULTS_HH__ |