RTEMS-CVS is broken

Thomas Doerfler Thomas.Doerfler at imd-systems.de
Thu Jul 13 16:49:10 UTC 2006

Hash: SHA1


first of all: I am sorry if I broke the CVS.

Joel has pointed me to a problem with BSP which do not have an IDE
driver, I have fixed this in the CVS two days ago.

Ralf Corsepius schrieb:
> On Thu, 2006-07-13 at 10:24 -0500, Joel Sherrill wrote:
>> Ralf Corsepius wrote:
>>> Thomas,
>>> your last week's monster check in into RTEMS cvs screwed up RTEMS badly:
>>> Since your patch, all BSPs, I've tried so far, fail with an error
>>> similar to this:
>>> ..
>>> ./../../../../armulator/lib/include/rtems/confdefs.h:385: error:
>>> 'ATA_DRIVER_TASK_DEFAULT_PRIORITY' undeclared here (not in a function)
>>> gmake[5]: *** [init.o] Error 1
>>> ..

Ralf, this really sound like you are using the intermediate version I
put into the CVS. Joel complaint the the "fileio" sample does not built
for non-IDE BSPs, and I put a fixed version of that sample into the CVS.

>> What configure command are you using? 
> In the case above:
> <dir>/rtems/configure  --target=arm-rtems4.7 --enable-maintainer-mode
> --enable-posix
>>> Furthermore, checking what you checked in to confdefs.h, makes me
>>> believe you broke cpukit:
>>> E.g. this
>>> +#include <libchip/ata.h>
>>> +#endif
>>> accesses libchip/ata.h (not part of cpukit).
>> This may not be so bad since it should only be turned on by code which knows
>> the libchip ATA driver is supported on that BSP. 

That has been my consideration aswell.

My reasons for the changes were related to the FAT filesystem. For using
it, you currently must:

- - add some tables to configure libblock
- - use a custom device driver table, because the ATA driver and the IDE
driver are NOT added to the standard device driver table.
- - and there was no way to modify the priority of two embedded tasks, the
ATA task and the swapout task.

> Sorry I consider the above to be truely unacceptably bad design:
> You are turning the hierarchies upside down:
> 1. libchip drivers are "plugins", a BSP has to "glue them together".
> cpukit should not need to know anything about a driver.

Well, this is not strictly true today, because confdefs.h at least glues
together all "standard" drivers like console, clock, tod etc. The
solution to declare them inside of cpukit
(libcsupport/include/conole.h...) , but to define them in the BSPs IMHO
is not an ideal structure.
> 2. Conditionally including files outside of cpukit from inside of
> cpukit, renders successful building a random accident.

ok, agreed.

>>  It would be more 
>> correct long
>> term to move the ata.h file to cpukit if it is a "standard RTEMS driver 
>> interface" and (hopefully) doesn't suck in a lot more.
> The ata stuff is i386 specific.

No, it ain't. We are using the ATA driver with PowerPC, it would
suitable aswell for Coldfire. If you look at MANY PDAs, they have an ARM
processor and CF or SD card slots, the ATA driver would do a good job
there too.

>>> Furthermore, you missed to add changelog entries.

Agreed, shame on me, I will provide it ASAP.

>> That's not good. :(
> Yes, it renders reverting these changes a pain.
> Ralf

- --

- --------------------------------------------
Embedded Brains GmbH
Thomas Doerfler        Obere Lagerstrasse 30
D-82178 Puchheim       Germany
email: Thomas.Doerfler at embedded-brains.de
Phone: +49-89-18908079-2
Fax:   +49-89-18908079-9
Version: GnuPG v1.4.3 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the users mailing list