Nathan Lynch f40b0f6c5c powerpc/rtas: ensure 8-byte alignment for struct rtas_args
CHRP and PAPR agree: "In order to make an RTAS call, the operating
system must construct an argument call buffer aligned on an eight byte
boundary in physically contiguous real memory [...]." (7.2.7 Calling
Mechanism and Conventions).

struct rtas_args is the type used for this argument call buffer. The
unarchitected 'rets' member happens to produce 8-byte alignment for
the struct on 64-bit targets in practice. But without an alignment
directive the structure will have only 4-byte alignment on 32-bit
targets:

  $ nm b/{before,after}/chrp32/vmlinux | grep rtas_args
  c096881c b rtas_args
  c0968820 b rtas_args

Add an alignment directive to the struct rtas_args declaration so all
instances have the alignment required by the specs. rtas-types.h no
longer refers to any spinlock types, so drop the spinlock_types.h
inclusion while we're here.

Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230220-rtas-queue-for-6-4-v1-1-010e4416f13f@linux.ibm.com
2023-03-30 23:36:34 +11:00
..
2022-08-07 17:52:35 -07:00
2022-12-19 07:13:33 -06:00
2023-02-12 22:11:56 +11:00
2021-03-24 14:09:29 +11:00
2022-06-29 19:37:07 +10:00
2022-08-06 16:38:17 -07:00
2023-02-13 22:13:29 +01:00
2022-09-26 22:47:37 +10:00
2022-07-27 21:36:05 +10:00
2022-08-06 16:38:17 -07:00
2021-07-01 11:06:03 -07:00
2021-02-09 01:09:44 +11:00
2022-05-08 22:15:40 +10:00
2022-12-07 20:14:49 +11:00
2022-12-02 17:54:09 +11:00
2021-12-09 22:41:21 +11:00
2022-05-28 11:27:17 -07:00
2022-09-28 19:22:09 +10:00
2022-07-27 21:36:05 +10:00
2022-01-30 21:17:00 -05:00