romcc progress.

John van Vlaanderen john-at-thinman at nyc.rr.com
Fri Jun 13 11:27:00 CEST 2003


Haha, I thought so,

Eric wrote:
> I have used it enough at this point I don't want to live without it
> again.

I did spend the better part of last night reading the thread, though
that got to the why but not how.

Uses registers, not stacks -- like the Perl6 Parrot VM, I am going to
have to tell them :)

============
Eric's text
============
> Currently LinuxBIOS has a lot of assembly code simply because memory
> initialization is difficult in the general case.  This code cannot be
> written with a standard compiler because there is no memory to put
> a stack in.  Nor on x86 are there cache blocks that can be locked into
> place.  As code generated with romcc does not use a stack it can be
> used during memory initialization.
> 
> It is true romcc is not *done*,  it is quite usable at this point.
> 
> In the freebios2 I have been gradually making the primary API ones
> that can be used before  memory is initialized.
> 
> The biggest difference is that if you want to return multiple values
> instead of passing in the address of a variable the a multi valued
> structure must be returned.
> 
> The biggest current known bug is that if you have a small type
> like short when it is stored in a register nothing ensures it does not
> take on a larger value than will fit in a short.
> 
> unsigned short i;
> i = 65535;
> i = i + 1;  /* i == 65536 oops */
> 
> The biggest shortcoming comes from it's nature and 
> 
> I have used it enough at this point I don't want to live without it
> again.
> 
> Eric
> 
> _______________________________________________
> Linuxbios mailing list
> Linuxbios at clustermatic.org
> http://www.clustermatic.org/mailman/listinfo/linuxbios





More information about the coreboot mailing list