![Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3 Manual Download Page 671](http://html.mh-extra.com/html/intel/itanium-architecture-software-developers-volume-3-rev-2-3/itanium-architecture-software-developers-volume-3-rev-2-3_manual_2073404671.webp)
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
Summary of Contents for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Page 1: ......
Page 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Page 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Page 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Page 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Page 230: ......
Page 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Page 380: ...2 132 Volume 2 Part 1 Interruptions ...
Page 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Page 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Page 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Page 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Page 808: ...2 560 Volume 2 Part 2 Context Management ...
Page 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Page 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Page 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Page 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Page 891: ......
Page 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Page 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Page 1296: ......
Page 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...