mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-30 02:20:48 +00:00
Word-align the host memory map
This fixes unaligned access exceptions when totally-unrelated code changes happen to move around host_command.c's global variables. BUG=chrome-os-partner:21578 BRANCH=none TEST=add a ccprintf() call to host_command.c; no longer causes an exception Change-Id: I5407e5631a08ea647dc40e5bd9c7bd101868ced0 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/64233 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
This commit is contained in:
committed by
ChromeBot
parent
8e28efa7ac
commit
bebfb9431e
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user