summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2021-01-11 14:45:00 +0300
committerAnup Patel <anup@brainfault.org>2021-01-15 08:10:33 +0300
commit1bbf36183ef5beeeb6358ff4450611c9c76a2ea2 (patch)
tree7c8bd2cae7ad7e475bb061cd279cc21c57d9ca24
parent386eba21bf349201f48e3e01ca129e6bffd7e674 (diff)
downloadopensbi-1bbf36183ef5beeeb6358ff4450611c9c76a2ea2.tar.xz
include: sbi: Don't pack struct sbi_platform and sbi_platform_operations
We don't need to pack struct sbi_platform and sbi_platform_operations because GCC ensures member offsets match member data type irrespective to the target system (RV32 or RV64). This also allows GCC to generate more optimized instruction sequence when accessing members of struct sbi_platform and struct sbi_platform_operations. Reported-by: Paul Campbell <taniwha@gmail.com> Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com>
-rw-r--r--include/sbi/sbi_platform.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h
index c252628..cc7e3ff 100644
--- a/include/sbi/sbi_platform.h
+++ b/include/sbi/sbi_platform.h
@@ -152,7 +152,7 @@ struct sbi_platform_operations {
const struct sbi_trap_regs *regs,
unsigned long *out_value,
struct sbi_trap_info *out_trap);
-} __packed;
+};
/** Platform default per-HART stack size for exception/interrupt handling */
#define SBI_PLATFORM_DEFAULT_HART_STACK_SIZE 8192
@@ -199,7 +199,7 @@ struct sbi_platform {
* 2. HART id < SBI_HARTMASK_MAX_BITS
*/
const u32 *hart_index2id;
-} __packed;
+};
/** Get pointer to sbi_platform for sbi_scratch pointer */
#define sbi_platform_ptr(__s) \