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: Redboot driver vs eCos driver


Jonathan Larmour <jlarmour@redhat.com> writes:

> Fabrice Gautier wrote:
> > 
> > Hi,
> > 
> > It appears that there is some ide driver and ext2fs driver in Redboot (for
> > x86) that allows you to load a file from a cd or a ext2 partition. it
> > doesn't seem those driver could be used in eCos. I am wrong and if not what
> > do you think it would take to be able to integrate that as an eCos driver ?
> 
> We had discussions about this internally. One noticeable omission in eCos
> that would be a prerequisite is a proper block device layer, allowing for
> interrupt driven I/O. The RedBoot driver doesn't need or want interrupt
> driven I/O - too much overhead, although a decently written layer would
> hopefully avoid be able to configurably avoid that.
> 
> After that of course you want to integrate such an FS into the io/fileio
> framework, and doing that in a purely polled way, and read-only, is much
> much easier than read-write and allowing overlapping I/O operations and the
> possibility of DMA.
> 
> But anyway, the first stage would be the block device layer. Nick, I
> believe that you may have some opinions on this?
> 

As Jifl indicates here, adding filesystem and IDE support to eCos
properly is a big job. When the need for RedBoot to be able to read
ext2fs arose, we decided to only do the minimum necessary and keep it
private to RedBoot. Adding filesystem support to eCos is potentially
as big a job as adding the network stack. We didn't want to preempt
that by adding code that might cause compatibility problems.

As for block devices, I added block IO operations to the device driver
table entries some time ago.

-- 
Nick Garnett, eCos Kernel Architect
Red Hat, Cambridge, UK


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