This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Check for illegal address range in io/flash


On Tue, Dec 11, 2007 at 11:09:40AM +0100, ?yvind Harboe wrote:
> On Dec 11, 2007 11:03 AM, Andrew Lunn <andrew@lunn.ch> wrote:
> >
> > > I mainly want the busted check in flash_erase() to be removed.
> > > ASSERT's are probably fine.
> >

What is actually wrong with this check? 

I think it is trying to deal with flash which are placed at the very
top of memory. The last valid byte is 0xffffffff. However is you try
to erase 0xffff0000 with length 0x10000, which is valid, end_addr
becomes 0x0 and things probably go wrong. This code i think it trying
to spot this and set end_addr to 0xffffffff. 

I don't want to remove this until i fully understand what is causing
your problem and how this code is wrong. Please could you explain what
you are seeing.

Thanks
        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]