The addresses that ended up being used for PostMortem acquisitions were outside of the 2GB DDR3 available in the board; this was observed as "corruption" for other acquisitions, since their data was overwritten (partially or fully).
In order to make the fix as simple as possible, we don't use the start_addr/end_addr macros from ddr3_map.h anymore, and simply write out our own, and use the same for all channels in a given module (we don't perform simultaneous acquisitions for different channels on the same module).
The addresses that ended up being used for PostMortem acquisitions were outside of the 2GB DDR3 available in the board; this was observed as "corruption" for other acquisitions, since their data was overwritten (partially or fully).
In order to make the fix as simple as possible, we don't use the start_addr/end_addr macros from ddr3_map.h anymore, and simply write out our own, and use the same for all channels in a given module (we don't perform simultaneous acquisitions for different channels on the same module).