faults.hh (12259:f787f664d57a) | faults.hh (12299:c54efdd48952) |
---|---|
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 --- 531 unchanged lines hidden (view full) --- 540 public: 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 | 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 --- 531 unchanged lines hidden (view full) --- 540 public: 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/// System error (AArch64 only) 549class SoftwareBreakpoint : public ArmFaultVals<SoftwareBreakpoint> 550{ 551 public: 552 SoftwareBreakpoint(ExtMachInst _mach_inst, uint32_t _iss); 553 554 bool routeToHyp(ThreadContext *tc) const override; 555}; 556 |
|
548// A fault that flushes the pipe, excluding the faulting instructions 549class ArmSev : public ArmFaultVals<ArmSev> 550{ 551 public: 552 ArmSev () {} 553 void invoke(ThreadContext *tc, const StaticInstPtr &inst = 554 StaticInst::nullStaticInstPtr) override; 555}; --- 22 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; | 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}; --- 22 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; |
595template<> ArmFault::FaultVals ArmFaultVals<SoftwareBreakpoint>::vals; |
|
586template<> ArmFault::FaultVals ArmFaultVals<ArmSev>::vals; 587 588 589} // namespace ArmISA 590 591#endif // __ARM_FAULTS_HH__ | 596template<> ArmFault::FaultVals ArmFaultVals<ArmSev>::vals; 597 598 599} // namespace ArmISA 600 601#endif // __ARM_FAULTS_HH__ |