Merge/Cleanup status

Yinghai Lu yhlu at
Mon Nov 1 14:01:01 CET 2004

After increase the ROM_IMAGE_SIZE beyond 64K, Do you need to change



-----Original Message-----
From: Eric W. Biederman [mailto:eric at] On Behalf Of Eric W.
Sent: Sunday, October 31, 2004 10:06 AM
To: Yinghai Lu
Cc: 'LinuxBIOS'; 'Ronald G. Minnich'; 'Richard Smith'; ollie at;
'Stefan Reinauer'
Subject: Re: Merge/Cleanup status

"Yinghai Lu" <yhlu at> writes:

> 1. Using ROMCC to do propresser will help the size reduction?

Not directly.  But it does cleanup the header files and increase
the exposure to romcc.  There are a small handful of things
this make more maintainable.

> 2. what is usage for MOVNTI? It is for GDB....

Look at ramtest.c.  movnti is a non-teporal move (bypasses the cache).
In some cases it can noticeably increase store performance.  Last
I measured in the cases it mattered it increased store performance
by 3X.

> 3. How to use GDB to debug LinuxBIOS? Is it only for linuxbios_ram?
Correct.  Either an exception must be taken or a call to
needs to be made.  At that point LinuxBIOS will stop and wait for
the debugger.  Assuming CONFIG_GDB_STUB is compiled in.  For details
on the gdb side, read up on the gdb remote serial protocol.

I'm not really a fan, I am still more productive with printf
debugging.  But implement ion exception handling support is a general
win.  And the support was easy to add.

> 4. You will use llshell for crt0.s or auto.c debug?

That is the idea.  Again I added it because it is available.  It would
not be hard to call out to it with an appropriate asm directive. 
If people find llshell useful.  

> 5. Current romcc only take constant parameters for non inline function? It
> that right?

There is something weird going on that affects the generated code, so
things don't work as smoothly as they should.

That said in theory function can be non-inline.

> 6. Anyone has tried to compile LinuxBIOS under Suse 9.1?  what's the
> recommended platform for LinuxBIOS compliation? It seems Suse 9.1 can not
> compile Etherboot properly. I am always using RH9 to do the work. And just
> found I can not compile LB for S2885, (size>65536), but I can do it in
> 9.1 pro.

The goal is to have LinuxBIOS compiling as many places as possible.
As for recommendations we can call out specific revisions of the
tool chain that are known good but I won't call out distros.  

Size wise I know gcc-3.4 is about 2% better than gcc-3.3.

Interesting.  On the purely size issue you can bump ROM_IMAGE_SIZE a
little and see if it the build works.

As for etherboot I don't know what your compile failure is.  So I
don't know how to diagnose that.


More information about the coreboot mailing list