texasr
u64 texasr;
OFFSET(VCPU_TEXASR, kvm_vcpu, arch.texasr);
uint64_t texasr;
texasr = mfspr(SPRN_TEXASR);
if (!(texasr & TEXASR_FS)) {
texasr &= ~TEXASR_FC;
texasr |= ((u64)fc_val << TEXASR_FC_LG) | TEXASR_FS;
texasr &= ~(TEXASR_PR | TEXASR_HV);
texasr |= TEXASR_PR;
texasr |= TEXASR_HV;
vcpu->arch.texasr = texasr;
mtspr(SPRN_TEXASR, texasr);
vcpu->arch.texasr = mfspr(SPRN_TEXASR);
vcpu->arch.texasr &= ~(TEXASR_PR | TEXASR_HV);
vcpu->arch.texasr |= TEXASR_PR;
vcpu->arch.texasr |= TEXASR_HV;
vcpu->arch.texasr = (TEXASR_FS | TEXASR_EXACT |
vcpu->arch.texasr |= TEXASR_ROT;
vcpu->arch.texasr |= TEXASR_HV;
unsigned long texasr;
texasr = mfspr(SPRN_TEXASR);
!(texasr & (TEXASR_FS))) {
*val = get_reg_val(id, vcpu->arch.texasr);
vcpu->arch.texasr = set_reg_val(id, *val);
vcpu->arch.texasr = mfspr(SPRN_TEXASR);
mtspr(SPRN_TEXASR, vcpu->arch.texasr);
u64 texasr, tfiar;
texasr = (failure_cause << 56) | TEXASR_ABORT | TEXASR_FS | TEXASR_EXACT;
if (MSR_TM_ACTIVE(msr) || !(vcpu->arch.texasr & TEXASR_FS)) {
texasr |= TEXASR_SUSP;
texasr |= TEXASR_PR;
vcpu->arch.texasr = (vcpu->arch.texasr & 0x3ffffff) | texasr;
*val = get_reg_val(id, vcpu->arch.texasr);
vcpu->arch.texasr = set_reg_val(id, *val);
vcpu->arch.texasr = mfspr(SPRN_TEXASR);
mtspr(SPRN_TEXASR, vcpu->arch.texasr);
unsigned long result, texasr;
: [res] "=r" (result), [texasr] "=r" (texasr)
unsigned long result, texasr;
: [res] "=r" (result), [texasr] "=r" (texasr)
unsigned long result, texasr;
: [res] "=r" (result), [texasr] "=r" (texasr)
unsigned long result, texasr;
: [res] "=r" (result), [texasr] "=r" (texasr)
unsigned long result, texasr;
[texasr] "=r" (texasr), [cptr1] "=b" (cptr1)
unsigned long result, texasr;
: [res] "=r" (result), [texasr] "=r" (texasr)
unsigned long result, texasr;
: [res] "=r" (result), [texasr] "=r" (texasr)
void analyse_texasr(unsigned long texasr)
printf("TEXASR: %16lx\t", texasr);
if (texasr & TEXASR_FP)
if (texasr & TEXASR_DA)
if (texasr & TEXASR_NO)
if (texasr & TEXASR_FO)
if (texasr & TEXASR_SIC)
if (texasr & TEXASR_NTC)
if (texasr & TEXASR_TC)
if (texasr & TEXASR_TIC)
if (texasr & TEXASR_IC)
if (texasr & TEXASR_IFC)
if (texasr & TEXASR_ABT)
if (texasr & TEXASR_SPD)
if (texasr & TEXASR_HV)
if (texasr & TEXASR_PR)
if (texasr & TEXASR_FS)
if (texasr & TEXASR_TE)
if (texasr & TEXASR_ROT)
uint64_t rv, dscr1 = 1, dscr2, texasr;
: [rv]"=r"(rv), [dscr2]"=m"(dscr2), [texasr]"=m"(texasr)
if ((texasr >> 56) != TM_CAUSE_RESCHED) {
if (pthread_create(&thread[i], NULL, (void *)texasr, (void *)i))
uint64_t texasr;
texasr = __builtin_get_texasr();
printf("Failure with error: %lx\n", _TEXASR_FAILURE_CODE(texasr));
printf("Summary error : %lx\n", _TEXASR_FAILURE_SUMMARY(texasr));
printf("TFIAR exact : %lx\n\n", _TEXASR_TFIAR_EXACT(texasr));