diff options
author | Denis Brockus <dbrockus@chromium.org> | 2019-07-18 11:35:21 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-07-22 19:34:58 +0000 |
commit | 03c07b4105df3d57e1c03b79b1eb165e91eeb85a (patch) | |
tree | 407f5b327b68346aacfa336ff400cc96b0af7b8e /chip/ish/ish_persistent_data.h | |
parent | be58022c66ca014d66ab89965ab3d61f4c6acd42 (diff) | |
download | chrome-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.h | 8 |
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 */ |