This is the mail archive of the ecos-discuss@sources.redhat.com 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]

Re: Adding Hardware packages


>>>>> "Fabrice" == Fabrice Gautier <Fabrice_Gautier@sdesigns.com> writes:

    >> -----Original Message-----
    >> From: Jonathan Larmour [mailto:jlarmour@redhat.co.uk]
    >> Subject: Re: [ECOS] Adding Hardware packages
    >> 
    >> Fabrice Gautier wrote:
    >> > 
    >> > Well, it seems that I can include the PCI package creating a
    >> > new template.
    >> > 
    >> > But anyway, it seems there is no support for PCI on i386 PC
    >> > target.
    >> 
    >> That's why the configuration tools wouldn't let you do it!

    Fabrice> In fact the configuration tools let me do it as soon as i
    Fabrice> create another template!

    Fabrice> It would be logical if the configuration tool raised a
    Fabrice> conflict. But in my case it just complained that the PCI
    Fabrice> package was an "Hardware Package". But I can't see where
    Fabrice> this package is declared as "Hardware", while it seems
    Fabrice> that all the hardware specific part is done in the target
    Fabrice> packages.

All the hardware packages are part of the target definition, which
currently lives in the ecos.db file together with outline details of
each package such as whether or not it is hardware-specific. When you
select a target you get all the HAL and device driver packages
appropriate to that target (although certain devices may be disabled
by default). Next you specify a particular template, e.g. uitron,
indicating roughly the kind of application you intend to develop.

Hardware packages such as PCI or ethernet do not belong in a template,
because it would mean that a given template could only be applied to
one or a small number of targets. Hence the configuration tools will
issue warnings if a template does contain a hardware package. Only a
warning, not an error, because from time to time it can be useful to
bend or break the rules during development. Possibly there should be
additional constraints, e.g. the PCI package could insist at the CDL
level that a platform HAL provide appropriate macros. That is a
trade-off between finding problems at configuration time vs. compile
time. 

If you were to add PC PCI support then you should update the "pc"
target entry in the ecos.db file and cause the PCI package to be added
automatically. Arguably at this stage it would be necessary to define
a number of different "pc" targets to cope with e.g. old ISA-only
machines.

Bart

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