Volume 2, Part 1: Processor Abstraction Layer
2:423
PAL_MC_ERROR_INJECT
supported for error injection. The caller is required to use the
query mode
with
appropriate inputs in
err_struct_info
to determine which combinations of error injection
types are supported. If a given combination is not supported, the procedure returns
with status -5.
The procedure supports both an
Error inject
and
Error inject and consume
mode
(selectable through the
err_inj
field in
err_type_info
). In the former mode, the procedure
performs the requested error injection in the specified structure, but does not perform
any additional actions that can lead to consumption of the error and generation of the
subsequent machine check. In
Error inject and consume
mode, the procedure will inject
the error in the specified structure, and will perform additional operations to ensure
that the error condition is encountered resulting in a machine check. Note that in this
case, the machine check will be generated within the context of this procedure.
The procedure also provides the ability to set an error injection trigger. In this case, the
error injection is delayed until the operation specified by the trigger is encountered and
the executing context has the specified privilege level. In the absence of a trigger, the
error injection is performed at the time of procedure execution. If an error injection
trigger is specified, the mode field in
err_type_info
determines whether the error is
injected, or injected and consumed when the trigger operation is encountered. There
can be only one outstanding trigger programmed at a time. Subsequent procedure calls
that use the trigger functionality will overwrite the previous trigger parameters. Once a
trigger is programmed it remains active until either the trigger operation is encountered
or software cancels the outstanding trigger via this call. Software can cancel
outstanding triggers by specifying
Cancel outstanding trigger
via the
mode
bit in
err_type_info
. The
resources
value returned is all zeroes, indicating that the procedure is
no longer using any architectural resources (specified in
resources
) for triggering
purposes. When using this mode, it is possible that the procedure execution may itself
satisfy the trigger conditions while in the process of cancelling the last programmed
trigger.
To support triggers, PAL may use existing architectural resources. The
resources
return
value defines the list of resources that are being used by PAL (see
In order for triggering to work when PAL is using the IBR or DBR registers, certain PSR
bits are required to be set. Software needs to ensure that the PSR.db and the PSR.ic
bits are set to one when executing the code that it is targeting with the trigger. If either
one of these bits are not set, then triggers will not work as defined.
Procedure operation is undefined if software overwrites or modifies the IBR/DBR
resources that PAL indicates it is using for a trigger. The IBR/DBR resources that PAL is
not using are available for software to program for their own use.
Figure 11-26.
resources
Return Value
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8
7
6
5
4
3
2
1
0
Reserved
dbr6 dbr4 dbr2 dbr0 ibr6 ibr4 ibr2 ibr0
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39
38
37
36
35
34
33
32
Reserved
Содержание ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Страница 1: ......
Страница 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 12: ...1 1 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part I Application Architecture Guide ...
Страница 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Страница 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Страница 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Страница 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Страница 230: ......
Страница 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 249: ...2 1 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part I System Architecture Guide ...
Страница 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Страница 380: ...2 132 Volume 2 Part 1 Interruptions ...
Страница 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Страница 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Страница 749: ...2 501 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part II System Programmer s Guide ...
Страница 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Страница 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Страница 808: ...2 560 Volume 2 Part 2 Context Management ...
Страница 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Страница 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Страница 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Страница 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Страница 891: ......
Страница 941: ...3 42 Volume 3 Instruction Reference cmp illegal_operation_fault PR p1 0 PR p2 0 Interruptions Illegal Operation fault ...
Страница 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Страница 1191: ...3 292 Volume 3 Pseudo Code Functions Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Страница 1296: ......
Страница 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Страница 1564: ...4 262 Volume 4 Base IA 32 Instruction Reference LES Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1565: ...Volume 4 Base IA 32 Instruction Reference 4 263 LFS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1568: ...4 266 Volume 4 Base IA 32 Instruction Reference LGS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1583: ...Volume 4 Base IA 32 Instruction Reference 4 281 LSS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Страница 1663: ...Volume 4 Base IA 32 Instruction Reference 4 361 SHL SHR Shift Instructions See entry for SAL SAR SHL SHR ...
Страница 1668: ...4 366 Volume 4 Base IA 32 Instruction Reference SIDT Store Interrupt Descriptor Table Register See entry for SGDT SIDT ...
Страница 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Страница 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Страница 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...