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: "Øyvind Harboe" <oyvind dot harboe at zylin dot com>
- To: "?yvind Harboe" <oyvind dot harboe at zylin dot com>, "Andrew Lunn" <andrew at lunn dot ch>, "eCos Disuss" <ecos-discuss at ecos dot sourceware dot org>
- Date: Tue, 11 Dec 2007 15:11:25 +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> <20071211135137.GG30586@lunn.ch>
On Dec 11, 2007 2:51 PM, Andrew Lunn <andrew@lunn.ch> wrote:
> 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 have no idea what this check is supposed to do.
If a valid range is passed in, it is a no-operation, otherwise it does
something mysterious
that looks just wrong to me.
I'm afraid all I can conclude is that it should be deleted as plain
wrong/unused. The
fact that it is harmless for valid ranges has allowed it to survive to date,
that's the antrophic principle for you I guess.
Someone else would have to speak up for it.
It would be a shame if plain wrong harmless code that nobody understands
could never be deleted from eCos :-)
> 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.
The problem is that I relied on flash_erase() to return an error upon illegal
address range. When I tested with an illegal address range,
flash_erase() did not
return an error. Upon inspecting the code, I saw something that looked
like it is *trying* to check the address, but I have found no explanation
for that code, so I see a couple of alternatives:
- if nobody understands this code, delete it after a week or two to
wait for someone to
speak up and see what happens. Probably nothing.
- keep this code forever as it is harmless(with valid addresses)
nobody will be hurt by it.
- add address check to flash_erase() & program and return error message
--
Øyvind Harboe
http://www.zylin.com - eCos ARM & FPGA developer kit
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss