Mahesh J Salgaonkar <mah...@linux.vnet.ibm.com> writes: > diff --git a/arch/powerpc/include/asm/mce.h b/arch/powerpc/include/asm/mce.h > index 8d0b1c24c636..314ed3f13d59 100644 > --- a/arch/powerpc/include/asm/mce.h > +++ b/arch/powerpc/include/asm/mce.h > @@ -110,17 +110,18 @@ enum MCE_LinkErrorType { > }; > > struct machine_check_event { > - enum MCE_Version version:8; /* 0x00 */ > - uint8_t in_use; /* 0x01 */ > - enum MCE_Severity severity:8; /* 0x02 */ > - enum MCE_Initiator initiator:8; /* 0x03 */ > - enum MCE_ErrorType error_type:8; /* 0x04 */ > - enum MCE_Disposition disposition:8; /* 0x05 */ > - uint16_t cpu; /* 0x06 */ > - uint64_t gpr3; /* 0x08 */ > - uint64_t srr0; /* 0x10 */ > - uint64_t srr1; /* 0x18 */ > - union { /* 0x20 */ > + enum MCE_Version version:8; > + uint8_t in_use; > + enum MCE_Severity severity:8; > + enum MCE_Initiator initiator:8; > + enum MCE_ErrorType error_type:8; > + enum MCE_Disposition disposition:8; > + uint8_t sync_error; > + uint16_t cpu; > + uint64_t gpr3; > + uint64_t srr0; > + uint64_t srr1;
Can you switch these to use kernel types while you're at it, ie. u8, u64 etc. > @@ -194,6 +195,7 @@ struct mce_error_info { > } u; > enum MCE_Severity severity:8; > enum MCE_Initiator initiator:8; > + uint8_t sync_error; u8 here but bool later? > diff --git a/arch/powerpc/kernel/mce_power.c b/arch/powerpc/kernel/mce_power.c > index 6b800eec31f2..06161de19060 100644 > --- a/arch/powerpc/kernel/mce_power.c > +++ b/arch/powerpc/kernel/mce_power.c > @@ -133,106 +133,107 @@ struct mce_ierror_table { > unsigned int error_subtype; > unsigned int initiator; > unsigned int severity; > + bool sync_error; > }; ie. here it's a bool? > @@ -539,8 +543,9 @@ static int mce_handle_derror(struct pt_regs *regs, > return handled; > > mce_err->error_type = MCE_ERROR_TYPE_UNKNOWN; > - mce_err->severity = MCE_SEV_ERROR_SYNC; > + mce_err->severity = MCE_SEV_SEVERE; > mce_err->initiator = MCE_INITIATOR_CPU; > + mce_err->sync_error = 1; u8 or bool? cheers