This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Check for illegal address range in io/flash
- From: Andrew Lunn <andrew at lunn dot ch>
- To: ?yvind Harboe <oyvind dot harboe at zylin dot com>
- Cc: Andrew Lunn <andrew at lunn dot ch>, eCos Disuss <ecos-discuss at ecos dot sourceware dot org>
- Date: Tue, 11 Dec 2007 14:51:37 +0100
- Subject: [ECOS] Re: Check for illegal address range in io/flash
- References: <c09652430712110102x684bcd2apd276cb0ff287caac@mail.gmail.com> <20071211094252.GD30586@lunn.ch> <c09652430712110149t4e157058r3a1a579c4330ac@mail.gmail.com> <20071211100356.GF30586@lunn.ch> <c09652430712110209t7fd2cab9va31087a52c7d2895@mail.gmail.com>
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