diff options
-rw-r--r-- | common/host_command.c | 6 | ||||
-rw-r--r-- | include/common.h | 9 |
2 files changed, 12 insertions, 3 deletions
diff --git a/common/host_command.c b/common/host_command.c index c6f7ff1dc4..489ae7b35f 100644 --- a/common/host_command.c +++ b/common/host_command.c @@ -28,7 +28,11 @@ static struct host_cmd_handler_args *pending_args; #ifndef CONFIG_LPC -static uint8_t host_memmap[EC_MEMMAP_SIZE]; +/* + * Simulated memory map. Must be word-aligned, because some of the elements + * in the memory map are words. + */ +static uint8_t host_memmap[EC_MEMMAP_SIZE] __aligned(4); #endif static enum { diff --git a/include/common.h b/include/common.h index c6eeb11fef..235540d220 100644 --- a/include/common.h +++ b/include/common.h @@ -32,9 +32,14 @@ #define REG16(addr) (*(volatile uint16_t *)(addr)) /* - * Define __packed if someone hasn't beat us to it. Linux kernel style - * checking prefers __packed over __attribute__((packed)). + * Define __aligned(n) and __packed if someone hasn't beat us to it. Linux + * kernel style checking prefers these over __attribute__((packed)) and + * __attribute__((aligned(n))). */ +#ifndef __aligned +#define __aligned(n) __attribute__((aligned(n))) +#endif + #ifndef __packed #define __packed __attribute__((packed)) #endif |