
Hi, This is a follow-up to my previous mail on Friday, reporting a problem while updating the flash of an IXP1200 evaluation board with a new VERA image. Tracking the problem back from where the assertion violation occurs at Flash/ixp1200/sa/src/flash.c:61 (which checks if some bus address is less than 128M), it seems this bus address is determined when the 'vera_flash' driver is initially loaded (in the function init_module of Flash/linux-386/driver/drvVera_flash.c). The address is actually a translation of what is returned by __get_free_pages (Line 316 of drvVera_flash.c) The machine I am using has 256 MB of physical memory and the address returned by __get_free_pages and hence translated by 'virt_to_bus' can be between 0 and 256M. I am guessing that the code in flash.c assumes that the host machine has only 128MB of memory and hence the sanity check on the bus address. Is that correct? Is the flash utility designed to work with only 128MB of memory? If not, can I just modify the 'assert' call in question in flash.c and will flash updation work fine? Thanks, Magesh

Hi Magesh, Yes, the assert was simply a sanity check based on the fact that my machine only had 128 MB of memory. I should probably remove it. If you have 256 MB of memory, you may safely increase the assert test and recompile. Scott On Mon, Sep 30, 2002 at 12:57:33PM -0500, Magesh Kannan wrote:
Hi,
This is a follow-up to my previous mail on Friday, reporting a problem while updating the flash of an IXP1200 evaluation board with a new VERA image.
Tracking the problem back from where the assertion violation occurs at Flash/ixp1200/sa/src/flash.c:61 (which checks if some bus address is less than 128M), it seems this bus address is determined when the 'vera_flash' driver is initially loaded (in the function init_module of Flash/linux-386/driver/drvVera_flash.c). The address is actually a translation of what is returned by __get_free_pages (Line 316 of drvVera_flash.c)
The machine I am using has 256 MB of physical memory and the address returned by __get_free_pages and hence translated by 'virt_to_bus' can be between 0 and 256M. I am guessing that the code in flash.c assumes that the host machine has only 128MB of memory and hence the sanity check on the bus address. Is that correct?
Is the flash utility designed to work with only 128MB of memory? If not, can I just modify the 'assert' call in question in flash.c and will flash updation work fine?
Thanks, Magesh
participants (2)
-
Magesh Kannan
-
Scott C. Karlin