static_inst.hh (12401:692ba6d84f4b) | static_inst.hh (12403:7be05f61abf3) |
---|---|
1/* 2 * Copyright (c) 2010-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 --- 350 unchanged lines hidden (view full) --- 359 360 inline Fault 361 disabledFault() const 362 { 363 return std::make_shared<UndefinedInstruction>(machInst, false, 364 mnemonic, true); 365 } 366 | 1/* 2 * Copyright (c) 2010-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 --- 350 unchanged lines hidden (view full) --- 359 360 inline Fault 361 disabledFault() const 362 { 363 return std::make_shared<UndefinedInstruction>(machInst, false, 364 mnemonic, true); 365 } 366 |
367 // Utility function used by checkForWFxTrap32 and checkForWFxTrap64 368 // Returns true if processor has to trap a WFI/WFE instruction. 369 bool isWFxTrapping(ThreadContext *tc, 370 ExceptionLevel targetEL, bool isWfe) const; 371 |
|
367 /** 368 * Trap an access to Advanced SIMD or FP registers due to access 369 * control bits. 370 * 371 * See aarch64/exceptions/traps/AArch64.AdvSIMDFPAccessTrap in the 372 * ARM ARM psueodcode library. 373 * 374 * @param el Target EL for the trap --- 26 unchanged lines hidden (view full) --- 401 * ARM ARM psueodcode library. 402 */ 403 Fault checkAdvSIMDOrFPEnabled32(ThreadContext *tc, 404 CPSR cpsr, CPACR cpacr, 405 NSACR nsacr, FPEXC fpexc, 406 bool fpexc_check, bool advsimd) const; 407 408 /** | 372 /** 373 * Trap an access to Advanced SIMD or FP registers due to access 374 * control bits. 375 * 376 * See aarch64/exceptions/traps/AArch64.AdvSIMDFPAccessTrap in the 377 * ARM ARM psueodcode library. 378 * 379 * @param el Target EL for the trap --- 26 unchanged lines hidden (view full) --- 406 * ARM ARM psueodcode library. 407 */ 408 Fault checkAdvSIMDOrFPEnabled32(ThreadContext *tc, 409 CPSR cpsr, CPACR cpacr, 410 NSACR nsacr, FPEXC fpexc, 411 bool fpexc_check, bool advsimd) const; 412 413 /** |
414 * Check if WFE/WFI instruction execution in aarch32 should be trapped. 415 * 416 * See aarch32/exceptions/traps/AArch32.checkForWFxTrap in the 417 * ARM ARM psueodcode library. 418 */ 419 Fault checkForWFxTrap32(ThreadContext *tc, 420 ExceptionLevel tgtEl, bool isWfe) const; 421 422 /** 423 * Check if WFE/WFI instruction execution in aarch64 should be trapped. 424 * 425 * See aarch64/exceptions/traps/AArch64.checkForWFxTrap in the 426 * ARM ARM psueodcode library. 427 */ 428 Fault checkForWFxTrap64(ThreadContext *tc, 429 ExceptionLevel tgtEl, bool isWfe) const; 430 431 /** 432 * WFE/WFI trapping helper function. 433 */ 434 Fault trapWFx(ThreadContext *tc, CPSR cpsr, SCR scr, bool isWfe) const; 435 436 /** |
|
409 * Get the new PSTATE from a SPSR register in preparation for an 410 * exception return. 411 * 412 * See shared/functions/system/SetPSTATEFromPSR in the ARM ARM 413 * psueodcode library. 414 */ 415 CPSR getPSTATEFromPSR(ThreadContext *tc, CPSR cpsr, CPSR spsr) const; 416 --- 32 unchanged lines hidden --- | 437 * Get the new PSTATE from a SPSR register in preparation for an 438 * exception return. 439 * 440 * See shared/functions/system/SetPSTATEFromPSR in the ARM ARM 441 * psueodcode library. 442 */ 443 CPSR getPSTATEFromPSR(ThreadContext *tc, CPSR cpsr, CPSR spsr) const; 444 --- 32 unchanged lines hidden --- |