lfetch
Operation:
if (PR[qp]) {
itype = READ|NON_ACCESS;
itype |= (lftype == 'fault') ? LFETCH_FAULT : LFETCH;
if (reg_base_update_form || imm_base_update_form)
check_target_register(r
if (lftype == 'fault') {
if (GR[r
}
excl_hint = (exclusive_form) ? EXCLUSIVE : 0;
if (!GR[r
paddr = tlb_translate(GR[r
if (!defer)
}
if (imm_base_update_form) {
GR[r
GR[r
} else if (reg_base_update_form) {
GR[r
GR[r
}
if ((reg_base_update_form || imm_base_update_form) && !GR[r
mem_implicit_prefetch(GR[r
}
Illegal Operation fault
Interruptions:
Register NaT Consumption fault
Unimplemented Data Address fault
Data Nested TLB fault
Alternate Data TLB fault
VHPT Data fault
Data TLB fault
3:166
);
3
].nat && !PSR.ed)
3
register_nat_consumption_fault(itype);
].nat && !PSR.ed) {// faulting form already faulted if r
3
mem_promote(paddr, mattr, lfhint | excl_hint);
] = GR[r
] + sign_ext(imm
3
3
].nat = GR[r
].nat;
3
3
] = GR[r
] + GR[r
];
3
3
2
].nat = GR[r
].nat || GR[r
3
2
// faulting form
// fault on NaT address
], 1, itype, PSR.cpl, &mattr, &defer);
3
, 9);
9
].nat;
3
], lfhint | excl_hint, itype);
3
Data Page Not Present fault
Data NaT Page Consumption fault
Data Key Miss fault
Data Key Permission fault
Data Access Rights fault
Data Access Bit fault
Data Debug fault
is nat
3
].nat)
3
Volume 3: Instruction Reference