mvhi sp, hi(_fstack)
ori sp, sp, lo(_fstack)
-#ifdef EXECUTE_IN_PLACE
/* Load DATA */
- mvhi r1, hi(_erodata)
- ori r1, r1, lo(_erodata)
+ mvhi r1, hi(_fdata_rom)
+ ori r1, r1, lo(_fdata_rom)
mvhi r2, hi(_fdata)
ori r2, r2, lo(_fdata)
mvhi r3, hi(_edata)
addi r1, r1, 4
addi r2, r2, 4
bi .moveDATA
-#endif
.doBSS:
/* Clear BSS */
#include "helpers.h"
#include "command.h"
-extern unsigned int _ftext, _edata;
+extern unsigned int _ftext, _edata_rom;
#define NUMBER_OF_BYTES_ON_A_LINE 16
void dump_bytes(unsigned int *ptr, int count, unsigned long addr)
unsigned int actual_crc;
/*
- * _edata is located right after the end of the flat
+ * _edata_rom is located right after the end of the flat
* binary image. The CRC tool writes the 32-bit CRC here.
- * We also use the address of _edata to know the length
+ * We also use the address of _edata_rom to know the length
* of our code.
*/
offset_bios = (unsigned long)&_ftext;
- expected_crc = _edata;
- length = (unsigned long)&_edata - offset_bios;
+ expected_crc = _edata_rom;
+ length = (unsigned long)&_edata_rom - offset_bios;
actual_crc = crc32((unsigned char *)offset_bios, length);
if (expected_crc == actual_crc)
printf(" BIOS CRC passed (%08x)\n", actual_crc);