* Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006(a)gmx.net> [060522 21:29]:
Stefan Reinauer <stepan(a)coresystems.de> wrote:
> We never actually compile nrv2b with romcc, do we? At the point we run
> nrv2b ram has to be enabled anyways - we uncompress the code somewhere.
> So our limits are far bigger than that.
in crt0.s, and it is used to uncompress
linuxbios_ram when using romcc.
You mean copy_and_run() is compiled with romcc? Can we change that?
No, it is not. But src/arch/i386/init/crt0.S.lb contains another
assembly written version of an nrv2b decompressor.
crt0.s should be changed to call the C version of unrv2b.
Then it can easily be changed later to use any other algorithm.
Using assembly at this point even though ram is enabled already must be
some code fragment from old times when we did a lot more assembly.
This might require though that we have
1. auto.c stage (romcc)
2. uncompression stage (gcc)
3. compressed linuxbios stage (gcc, initially compressed)
This reads ugly in a mail but is by no means uglier than keeping
assembler versions of decompressors in the code.
What's the difference between
CONFIG_COMPRESS? Can we use lzma compression for both?
CONFIG_COMPRESSED_ROM_STREAM says: the payload is compressed.
CONFIG_COMPRESS says: LinuxBIOS is compressed.
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info(a)coresystems.de • http://www.coresystems.de/