Fujitsu SPARC JPS1 Implementation Supplement Manual page 183

Fujitsu sparc64 v
Table of Contents

Advertisement

void
expected_software_handling_of_ADE_trap()
{
/* Only %r0-%r7 can be used from here to Point#1 because the register window
control registers may not have valid value until Point#1. It is
recommended that only %r0-%r7 are used as general-purpose registers (GPR)
in the whole single-ADE trap handler, if possible. */
ASI_SCRATCH_REGp
ASI_SCRATCH_REGq
%rX
if ((%rX && 0x07)
}
if (%rX.IUG_%R == 1) {
%r1-%r31 except %rX and %rY
%y
%tstate.pstate
}
else {
save required %r1-%r7 to the ADE trap save area, using %rX, %rY,
/* whole %r save and restore is required to retry the context
}
if (ASI_UGESR.IUG_PSTATE == 1) {
%tstate.pstate
%tpc
%pil
%wstate
All general-purpose registers in the register window
Set the register window control registers
}
/*
Point#1: Program can use the general-purpose registers except %r0-%r7
after this because the register window control registers were validated
in the above step. */
if ((ASI_UGESR.IAUG_CRE == 1) ||( ASI_UGESR.IAUG_TSBCTXT == 1) ||
(ASI_UGESR.IUG_TSBP == 1) || (ASI_UGESR.IUG_TSTATE == 1) ||
Write to each register with an error indication, to erase as many
}
if (ASI_UGESR.IUG_DTLB == 1) {
execute demap_all for DTLB;
/* A locked fDTLB entry with uncorrectable error is not removed by this
172
SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
%rX;
%rY;
ASI_UGESR;
0) {
/*
multiple-ADE trap occurrence */
invoke panic routine and take system dump as much as possible
with the running environment of ASI_ERROR_CONTROL.WEAK_ED == 1;
%r0;
%r0;
ASI_SCRATCH_REGp and ASI_SCRATCH_REGq;
with PSTATE.AG == 1 */
%r0;
%r0;
%r0;
%r0;
(CWP, CANSAVE, CANRESTORE, OTHERWIN, CLEANWIN) to appropriate values;
(ASI_UGESR.IUG_%F==1)) {
register errors as possible;
operation.
A locked fDTLB entry with UE never detects its tag match or
%r0;
/* because ccr or asi field in %tstate.pstate
contains the error */
%r0;

Advertisement

Table of Contents
loading

Table of Contents