static_inst.cc (12788:fe6d6ae79d7c) | static_inst.cc (12789:b28b286fa57d) |
---|---|
1/* 2 * Copyright (c) 2010-2014, 2016-2018 ARM Limited 3 * Copyright (c) 2013 Advanced Micro Devices, Inc. 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 --- 591 unchanged lines hidden (view full) --- 600ArmStaticInst::generateDisassembly(Addr pc, 601 const SymbolTable *symtab) const 602{ 603 std::stringstream ss; 604 printMnemonic(ss); 605 return ss.str(); 606} 607 | 1/* 2 * Copyright (c) 2010-2014, 2016-2018 ARM Limited 3 * Copyright (c) 2013 Advanced Micro Devices, Inc. 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 --- 591 unchanged lines hidden (view full) --- 600ArmStaticInst::generateDisassembly(Addr pc, 601 const SymbolTable *symtab) const 602{ 603 std::stringstream ss; 604 printMnemonic(ss); 605 return ss.str(); 606} 607 |
608Fault 609ArmStaticInst::softwareBreakpoint32(ExecContext *xc, uint16_t imm) const 610{ 611 const auto tc = xc->tcBase(); 612 const HCR hcr = tc->readMiscReg(MISCREG_HCR_EL2); 613 const HDCR mdcr = tc->readMiscRegNoEffect(MISCREG_MDCR_EL2); 614 if ((ArmSystem::haveEL(tc, EL2) && !inSecureState(tc) && 615 !ELIs32(tc, EL2) && (hcr.tge == 1 || mdcr.tde == 1)) || 616 !ELIs32(tc, EL1)) { 617 // Route to AArch64 Software Breakpoint 618 return std::make_shared<SoftwareBreakpoint>(machInst, imm); 619 } else { 620 // Execute AArch32 Software Breakpoint 621 return std::make_shared<PrefetchAbort>(readPC(xc), 622 ArmFault::DebugEvent); 623 } 624} |
|
608 609Fault 610ArmStaticInst::advSIMDFPAccessTrap64(ExceptionLevel el) const 611{ 612 switch (el) { 613 case EL1: 614 return std::make_shared<SupervisorTrap>(machInst, 0x1E00000, 615 EC_TRAPPED_SIMD_FP); --- 462 unchanged lines hidden --- | 625 626Fault 627ArmStaticInst::advSIMDFPAccessTrap64(ExceptionLevel el) const 628{ 629 switch (el) { 630 case EL1: 631 return std::make_shared<SupervisorTrap>(machInst, 0x1E00000, 632 EC_TRAPPED_SIMD_FP); --- 462 unchanged lines hidden --- |