In memory.h preboot_data address have a 64MB space before file load
buffer address, so if we try to get more a preboot img bigger than
that size we will have problems in the opened files or viceversa if
we later open a file.
#define LOAD_ADDR 0x18100000
#define PREBOOT_DATA 0x1C100000
Attached a diff that check file size (value is hardcoded) so a
better solution maybe to have in memory.h something like
#define PREBOOT_LEN 0x04000000
and use this instead.
Reported by J Guerrero, Sep 6, 2011