[coreboot] romcc segfaults; serious help needed

Keith Hui buurin at gmail.com
Thu Mar 11 12:31:22 CET 2010


> > void romcc_fail(void) {
> > int dimm03 = 0;
> > int dimm47 = 0;
> > char mbsc[5];
> > char mbfs[3];
>
> This is already putting some pressure on register allocation. Can you
> help romcc by making dimm03 and dimm47 into char also? Consistently
> using unsigned may also help.
>
> > mbfs and mbsc are meant to be an array of bytes that make up the
> > MBFS and MBSC registers in the 440BX, to be written out to it once
> > they're all set.
>
> Would it be possible to not store, and instead write out to registers
> as soon as possible? This will also help romcc.
>
> //Peter

I feel good being able to push romcc to the limit, and probably off the
cliff given what happened. :-P

Two of the MBSC bytes are common, at least for now. I'll try eliminating the
variables for them.

On further tries the problem seems to be with the use of |= operator on an
array item. Elsewhere in the original raminit code uses |= with a simple
variable and it doesn't seem to segfault.

But other than that, there are three conditions to check for, and the
registers cannot be finalized and written out until all three are done.

Thanks
Keith
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20100311/4c398a29/attachment.html>


More information about the coreboot mailing list