Mercurial > ecos-v2_0-branch
changeset 495:248ae32b58f8
Be quieter about out of range memory addresses - ask only once - from Patrick Doyle
| author | gthomas |
|---|---|
| date | Mon, 13 Jan 2003 18:45:26 +0000 |
| parents | cffb2601409c |
| children | 6c2a59f5102f |
| files | packages/redboot/current/ChangeLog packages/redboot/current/src/load.c |
| diffstat | 2 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/redboot/current/ChangeLog +++ b/packages/redboot/current/ChangeLog @@ -1,3 +1,9 @@ +2003-01-10 Patrick Doyle <wpd@delcomsys.com> + + * src/load.c (do_load): Don't abort and complain about overwriting + the end of RAM when loading raw data files and we already asked + the user if it was ok to write outside what we believe to be RAM. + 2002-12-31 Patrick Doyle <wpd@delcomsys.com> * src/decompress.c (gzip_close): Don't complain that decompression
--- a/packages/redboot/current/src/load.c +++ b/packages/redboot/current/src/load.c @@ -590,6 +590,9 @@ do_load(int argc, char *argv[]) connection_info_t info; getc_io_funcs_t *io; struct load_io_entry *io_tab; +#ifdef CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS + bool spillover_ok = false; +#endif #ifdef CYGPKG_REDBOOT_NETWORKING memset((char *)&host, 0, sizeof(host)); @@ -688,6 +691,7 @@ do_load(int argc, char *argv[]) (base > (unsigned long)user_ram_end))) { if (!verify_action("Specified address (%p) is not believed to be in RAM", (void*)base)) return; + spillover_ok = true; } #endif if (raw && !base_addr_set) { @@ -711,7 +715,7 @@ do_load(int argc, char *argv[]) err = 0; while ((res = redboot_getc()) >= 0) { #ifdef CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS - if (mp >= user_ram_end) { + if (mp >= user_ram_end && !spillover_ok) { // Only if there is no need to stop the download // before printing output can we ask confirmation // questions.
