[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Kernel in JFFS. Possible?




JimG> I gather our bootldr is reasonably modular.
Boy, do I have some prime real estate to sell you :->


Unfortunately, the initial design and implementation did not even
consider portability.  Even the differences between the other ARM
platforms are hammered on... #ifdefs everywhere, no localization of
functionality, etc.  For example, look at the original serial I/O
code.  awaitkey() and getc() both read the serial port.  Each
duplicated the code to read the registers and then duplicated the
#ifdefs to support the various platforms.

And way too much is written in asm. main() should be called a lot
earlier and then only essential routines should be written in assembly,
like code mucking with the MMU, and even then only when the
coprocessor regs are read/written. Etc...

The time pressures of its genesis are very evident.

So I think an x86 "port" would be a fairly large effort (with respect
to the size of the bootldr), but it wouldbe worth while I think since
a clean up would make any future development and porting much easier,
as long as the port was done properly.  To hack in another platform
would be useful to the new platform, but detrimental to the code as a
whole. 
A large part of the effort would be validation of the new port.  Since
any function may poke a reg here or there, things could be missed or
ported incorrectly.

I've worked with eCos fairly extensively in the last year or so, so it
may be that the bit rot there could be cleaned up easier than porting
bootldr.

davep

To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com