[coreboot] [PATCH] Convert all Intel 440BX boards to Cache-as-RAM (CAR)
Eric W. Biederman
ebiederm at xmission.com
Fri Oct 8 05:24:04 CEST 2010
Idwer Vollering <vidwer at gmail.com> writes:
> 2010/10/7 Stefan Reinauer <stefan.reinauer at coresystems.de>
>
> On 10/6/10 2:27 PM, Idwer Vollering wrote:
>
> 2010/10/6 Uwe Hermann <uwe at hermann-uwe.de>
>
> See patch.
>
>
> Here is a fix for building on 32-bit platforms:
>
> Index: src/northbridge/intel/i440bx/raminit.c
> ===================================================================
> --- src/northbridge/intel/i440bx/raminit.c (revision 5917)
> +++ src/northbridge/intel/i440bx/raminit.c (working copy)
> @@ -657,8 +657,8 @@
> }
>
> struct dimm_size {
> - unsigned long side1;
> - unsigned long side2;
> + uint32_t side1;
> + uint32_t side2;
> };
>
>
> What's that error?
>
>
> In file included from src/mainboard/asus/p2b/romstage.c:46:
> src/northbridge/intel/i440bx/raminit.c: In function ‘spd_get_dimm_size’:
> src/northbridge/intel/i440bx/raminit.c:717: error: format ‘%04x’ expects type
> ‘unsigned int’, but argument 3 has type ‘long unsigned int’
>
>
> It seems the above should be about the same on 32bit platforms, especially
> it should be the same on 32bit platforms and 64bit platforms, since the
> code is always compiled 32bit...
> What did I miss?
>
>
> Should it be something else than uint32_t ? Plain int ?
%04lx?
uint32_t could be typedef'd to either unsigned long or unsigned on
a 32bit platform. Using it is unlikely to deterministically solve
any printf format woes.
Eric
More information about the coreboot
mailing list