[coreboot] [commit] r5286 - ...

Stefan Reinauer stepan at coresystems.de
Thu Mar 25 18:53:26 CET 2010


On 3/25/10 5:45 PM, Myles Watson wrote:
> The reason I object to the void* method was that it just masked the
> problem so that gcc couldn't spot it.  Casting to void* and back to a
> struct seems equivalent to just having it declared two different ways.
I don't think it's masking the problem. It should be sufficient to let
gcc know that it can't assume anything from the pointer since it comes
from a void *. Also, it's not casting it back to a struct, because it
never was a struct. So, while it might not be beautiful, I think it's at
least not wrong.

> > Which makes me think if there are not other ways to determine the size
> > of an array. Maybe sizeof(AmlCode) ?
> I tried that.  It doesn't work because it's an incomplete type.
It would not if we included the file

----- 8< ------ dsdt_wrapper.c -------- 8< ----------

#include "dsdt.c"

int AmlCodeSize = sizeof(AmlCode);

----- 8< ------ dsdt_wrapper.c -------- 8< ----------

and use that.

A (maybe too obvious) variant would be to create a binary dsdt instead
of a C file and pack that into CBFS. It would reduce coreboot size and
allow to copy/decompress it right to cbmem

Stefan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20100325/48a6b4c6/attachment.html>


More information about the coreboot mailing list