public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Nick Garnett <nickg@ecoscentric.com>
To: "Paul D. DeRocco" <pderocco@ix.netcom.com>
Cc: "eCos Discuss" <ecos-discuss@ecos.sourceware.org>
Subject: Re: [ECOS] RE: eCos Loader
Date: Thu, 28 Apr 2005 10:06:00 -0000	[thread overview]
Message-ID: <m3acnjrzj2.fsf@xl5.calivar.com> (raw)
In-Reply-To: <NEBBKHCFDGIGIJEHDJFCEEGDOKAA.pderocco@ix.netcom.com>

"Paul D. DeRocco" <pderocco@ix.netcom.com> writes:

> >
> > Instead the approach described by Tony would be more appropriate: the
> > application developer generates a table of just the symbols that he
> > expects his loaded modules to access. This way the main application
> > will be kept small.
> 
> This is an intrinsic problem with a loader: you have to create an OS that
> has an API suitable for loaded applications that haven't yet been written.
> In general, the most useful OS image would include symbol table entries for
> all documented functions in the included eCos subsystems. Otherwise you have
> to arbitrarily constrain the writers of loaded applications, and document
> those constraints. Yes, this means that the linked portion of the system may
> be larger than necessary for a particular app, but that's the only way to
> decouple the design of the OS from the design of the app.


The things being loaded will be application specific: device drivers,
video/audio codecs, protocol handlers, libraries etc. You just need to
define the API that they will use and build a symbol table to
match. There's no need to add stuff that they won't be calling.

> Typically, the only reference _into_ a loaded module is the start address.
> That is, the code is loaded, and a thread is started (or a function is
> called) at the module's start address.

That may be true in Linux, where the init routine then registers the
module into the OS data structures with function tables and the
like. This will also be the way that things like device drivers and
codec will work too. However, a more general library may have a
variety of interface calls.


-- 
Nick Garnett                                     eCos Kernel Architect
http://www.ecoscentric.com                The eCos and RedBoot experts


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

  reply	other threads:[~2005-04-28 10:01 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20050426204513.30E1BE5BC7@ws7-2.us4.outblaze.com>
2005-04-27  0:21 ` David Bonfrer
2005-04-27  0:33   ` [ECOS] i386 problem Gonçalo Antunes
2005-04-27  6:05     ` Andrew Lunn
2005-04-30  9:57       ` Gonçalo Antunes
     [not found]         ` <20050430171810.GA6601@lunn.ch>
2005-05-02 16:12           ` Gonçalo Antunes
2005-05-02 16:30             ` Andrew Lunn
2005-05-02 16:35               ` Gonçalo Antunes
2005-05-03 10:14         ` Nick Garnett
2005-05-03 10:37           ` Gonçalo Antunes
2005-05-03 20:30           ` Bart Veer
2005-04-27  8:25   ` [ECOS] RE: eCos Loader Andrew Lunn
2005-04-27 10:28   ` Nick Garnett
2005-04-27 18:06     ` Paul D. DeRocco
2005-04-28 10:06       ` Nick Garnett [this message]
     [not found] <200504270959.j3R9xYcY010497@router.bonfrer.thuis>
2005-04-28 10:01 ` Nick Garnett
2005-04-28 15:39   ` David Bonfrer
2005-04-28 19:06     ` Nick Garnett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3acnjrzj2.fsf@xl5.calivar.com \
    --to=nickg@ecoscentric.com \
    --cc=ecos-discuss@ecos.sourceware.org \
    --cc=pderocco@ix.netcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).