Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 671

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

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
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40
Volume 2, Part 1: Processor Abstraction Layer
Reserved
Reserved
PAL_MC_ERROR_INJECT
Figure
11-26).
7
6
5
4
3
2
dbr6 dbr4 dbr2 dbr0 ibr6 ibr4 ibr2 ibr0
39
38
37
36
35
34
1
0
33
32
2:423

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents