summaryrefslogtreecommitdiff
path: root/chip/ish/ish_persistent_data.h
diff options
context:
space:
mode:
authorDenis Brockus <dbrockus@chromium.org>2019-07-18 11:35:21 -0600
committerCommit Bot <commit-bot@chromium.org>2019-07-22 19:34:58 +0000
commit03c07b4105df3d57e1c03b79b1eb165e91eeb85a (patch)
tree407f5b327b68346aacfa336ff400cc96b0af7b8e /chip/ish/ish_persistent_data.h
parentbe58022c66ca014d66ab89965ab3d61f4c6acd42 (diff)
downloadchrome-ec-03c07b4105df3d57e1c03b79b1eb165e91eeb85a.tar.gz
ish: fix snowball structure linker placement
The following bug https://buganizer.corp.google.com/issues/136002955 indicates after my initial move of snowball to use the linker map instead of hard defined addresses that 0xFF801E80 was reading back as all zeroes. The change that was made for this is https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1664593 I double checked the map files and everything looked good. For some reason using the linker to map the location of this structure, the system does not run properly. If I remove the link map placement of this structure then the issue goes away. I looked at how aon_share was placed at the specific address in AON memory and this CL is doing the same thing and it is working. I think this is the way we should keep this fix and not try to get the linker map to place this structure where we want it. BUG=b:136002955 BRANCH=none TEST=make buildall -j TEST=verify soft reboot does not indicate power reset Change-Id: Ibb6dbd3a4414b5c546e99f5ad7e0409250de6256 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1707998 Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Diffstat (limited to 'chip/ish/ish_persistent_data.h')
-rw-r--r--chip/ish/ish_persistent_data.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/chip/ish/ish_persistent_data.h b/chip/ish/ish_persistent_data.h
index e10e4d127c..0fd973e1bb 100644
--- a/chip/ish/ish_persistent_data.h
+++ b/chip/ish/ish_persistent_data.h
@@ -44,10 +44,10 @@ void ish_persistent_data_commit(void);
*/
struct snowball_struct {
uint32_t reserved[28];
- uint32_t uma_base_hi;
- uint32_t uma_base_lo;
- uint32_t uma_limit;
- uint32_t fw_offset;
+ uint32_t volatile uma_base_hi;
+ uint32_t volatile uma_base_lo;
+ uint32_t volatile uma_limit;
+ uint32_t volatile fw_offset;
};
#endif /* __CROS_EC_ISH_PERSISTENT_DATA_H */