x86: crt0: Remove 'je copyDataDone' from CONFIG_XIP block
When CONFIG_SYS_POWER_DEEP_SLEEP is enabled, the _sys_soc_resume function is called and the 'ZF' bit from EFLAGS register may be set to 1. In that case, we end up wrongly jumping into 'copyDataDone' label and no data is copied from ROM to RAM. It seems this 'je' instruction is used without any previous comparison operation which properly sets the ZF flag. Since 'ZF' initial value is 0, we never jump into 'copyDataDone' label. Also, this 'je' instruction doesn't seem to be really required since, if %ecx is zero, no data will be copied anyway. That being said, this patch removes the 'je' instruction since it fixes the bug described in the first paragraph and it doesn't affect the rest of the crt0 execution. Also, removes outdated information about section size and alignment. Change-Id: Ia062b78247c4059009193a53f879aa1ebe80881d Signed-off-by:Andre Guedes <andre.guedes@intel.com> Signed-off-by:
Iván Briano <ivan.briano@intel.com>
Loading
Please sign in to comment