-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 03.10.2010 18:54, schrieb Warren Turkal:
I see that is the change that fixed it. However, I'm still not sure I understand the fix completely. When CONFIG_TINY_BOOTBLOCK is defined and AUTO_XIP_ROM_BASE is not defined, we get the following line (line number 159 or so) in build/mainboard/via/vt8454c/crt0.s: movl $AUTO_XIP_ROM_BASE, %eax
How does that assemble without an error?
Is the AUTO_XIP_ROM_BASE set to some value (presumably 0) by the assembler for some reason that I don't see? For reference, here is the equivalent line from crt0.disasm: 100 0115 B8000000 >---->-------movl>---$REAL_XIP_ROM_BASE, %eax
This becomes a symbol in the .o file that is (must be) resolved on link time. That's why it must be provided verbatim (without "|anything") in the code.
What we _could_ do is to define REAL_XIP_ROM_BASE_WITH_FLAGS_SET (or sth. to that effect) and run with that. It would eliminate the "orl" line. I hesitated to do so because I wasn't sure if all systems use the same flags (I didn't look if that's the case now), and didn't want to provide lots of REAL_XIP_ROM_BASE_* for all combinations.
Patrick