Thread (39 messages) flat view 39 messages, 9 authors, 2018-08-17

Re: [PATCH v7 4/9] powerpc/pseries: Define MCE error event section.

From: Segher Boessenkool <hidden>
Date: 2018-08-16 14:44:56

Hi!

On Thu, Aug 16, 2018 at 02:14:39PM +1000, Michael Ellerman wrote:
Mahesh Jagannath Salgaonkar [off-list ref] writes:
quoted
On 08/08/2018 08:12 PM, Michael Ellerman wrote:
quoted
quoted
+			uint8_t	reserved_1[6];
+			__be64	effective_address;
+			__be64	logical_address;
+		} ue_error;
+		struct {
+			uint8_t	soft_err_type;
+			/* XXXXXXXX
+			 * X		1: Effective address provided.
+			 *  XXXXX	5: Reserved.
+			 *       XX	2: Type of SLB/ERAT/TLB error.
+			 */
+			uint8_t	reserved_1[6];
+			__be64	effective_address;
+			uint8_t	reserved_2[8];
+		} soft_error;
+	} u;
+};
+#pragma pack(pop)
Why not __packed ?
Because when used __packed it added 1 byte extra padding between
reserved_1[6] and effective_address. That caused wrong effective address
to be printed on the console. Hence I switched to #pragma pack to force
1 byte alignment for this structure alone.
OK, that's weird.
Yes, if that is true, then please open a GCC bugzilla report.


Segher
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help