Mercurial > ecos-v3_0-branch
changeset 1823:ecd76f498508
* cdl/redboot.cdl (CYGBLD_REDBOOT_MIN_IMAGE_SIZE): Correct the
description to match what the option is actually used for.
* src/flash.c (find_free, fis_free, fis_find_free): Don't ignore
an extra CYGBLD_REDBOOT_MIN_IMAGE_SIZE amount from the start.
This fixes the case where nothing uses the start of flash.
| author | asl |
|---|---|
| date | Tue, 09 Nov 2004 18:59:14 +0000 |
| parents | b9ae2f90a53e |
| children | 30d166811fe7 |
| files | packages/redboot/current/ChangeLog packages/redboot/current/cdl/redboot.cdl packages/redboot/current/src/flash.c |
| diffstat | 3 files changed, 24 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/redboot/current/ChangeLog +++ b/packages/redboot/current/ChangeLog @@ -1,3 +1,12 @@ +2004-11-09 David Vrabel <dvrabel@arcom.com> + + * cdl/redboot.cdl (CYGBLD_REDBOOT_MIN_IMAGE_SIZE): Correct the + description to match what the option is actually used for. + + * src/flash.c (find_free, fis_free, fis_find_free): Don't ignore + an extra CYGBLD_REDBOOT_MIN_IMAGE_SIZE amount from the start. + This fixes the case where nothing uses the start of flash. + 2004-11-04 Peter Korsgaard <jacmet@sunsite.dk> * src/fconfig.c (flash_write_config): Removed compiler warning
--- a/packages/redboot/current/cdl/redboot.cdl +++ b/packages/redboot/current/cdl/redboot.cdl @@ -263,6 +263,12 @@ cdl_package CYGPKG_REDBOOT { # Implemented within the platform HAL } + cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM { + display "Include I/O Memory commands 'in' and 'out'" + default_value CYGPKG_HAL_I386 + compile -library=libextras.a iomem.c + } + no_define description "This option enables the building of the Redboot ELF image. The image may require further relocation or symbol @@ -732,14 +738,14 @@ cdl_package CYGPKG_REDBOOT { } cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE { - display "Minimum image size" + display "Maximum RedBoot image size" flavor data - default_value 0x20000 + default_value { CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 } description " - This option controls the minimum length of images kept by - the FIS. In particular, it should be large enough to hold - the RedBoot primary image itself, as well as be a natural - multiple of the FLASH erase block size." + This option controls the maximum length reserved + for the RedBoot boot image in the FIS table. + This should be a multiple of the flash's erase + block size." } cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
--- a/packages/redboot/current/src/flash.c +++ b/packages/redboot/current/src/flash.c @@ -564,8 +564,7 @@ find_free(struct free_chunk *chunks) // Do not search the area reserved for pre-RedBoot systems: fis_ptr = (CYG_ADDRESS *)((CYG_ADDRESS)flash_start + - CYGNUM_REDBOOT_FLASH_RESERVED_BASE + - CYGBLD_REDBOOT_MIN_IMAGE_SIZE); + CYGNUM_REDBOOT_FLASH_RESERVED_BASE); fis_end = (CYG_ADDRESS *)flash_end; chunks[num_chunks-1].start = (CYG_ADDRESS)fis_ptr; chunks[num_chunks-1].end = (CYG_ADDRESS)fis_end; @@ -620,8 +619,7 @@ fis_free(int argc, char *argv[]) // Do not search the area reserved for pre-RedBoot systems: fis_ptr = (unsigned long *)((CYG_ADDRESS)flash_start + - CYGNUM_REDBOOT_FLASH_RESERVED_BASE + - CYGBLD_REDBOOT_MIN_IMAGE_SIZE); + CYGNUM_REDBOOT_FLASH_RESERVED_BASE); fis_end = (unsigned long *)(CYG_ADDRESS)flash_end; area_start = fis_ptr; while (fis_ptr < fis_end) { @@ -672,8 +670,7 @@ fis_find_free(CYG_ADDRESS *addr, unsigne // Do not search the area reserved for pre-RedBoot systems: fis_ptr = (unsigned long *)((CYG_ADDRESS)flash_start + - CYGNUM_REDBOOT_FLASH_RESERVED_BASE + - CYGBLD_REDBOOT_MIN_IMAGE_SIZE); + CYGNUM_REDBOOT_FLASH_RESERVED_BASE); fis_end = (unsigned long *)(CYG_ADDRESS)flash_end; area_start = fis_ptr; while (fis_ptr < fis_end) {
