Submitter | Idwer Vollering |
---|---|
Date | 2010-10-06 21:27:59 |
Message ID | <AANLkTim7HnDXkm=SLox-_SLr-a8SrrwEjacb=8j6iTMK@mail.gmail.com> |
Download | mbox | patch |
Permalink | /patch/2057/ |
State | Rejected |
Headers | show |
Comments
On 10/6/10 2:27 PM, Idwer Vollering wrote: > 2010/10/6 Uwe Hermann <uwe@hermann-uwe.de <mailto:uwe@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? 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? Stefan
2010/10/7 Stefan Reinauer <stefan.reinauer@coresystems.de> > On 10/6/10 2:27 PM, Idwer Vollering wrote: > > 2010/10/6 Uwe Hermann <uwe@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 ? > Stefan > > > -- > coreboot mailing list: coreboot@coreboot.org > http://www.coreboot.org/mailman/listinfo/coreboot >
Idwer Vollering <vidwer@gmail.com> writes: > 2010/10/7 Stefan Reinauer <stefan.reinauer@coresystems.de> > > On 10/6/10 2:27 PM, Idwer Vollering wrote: > > 2010/10/6 Uwe Hermann <uwe@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
Patch
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; }; static struct dimm_size spd_get_dimm_size(unsigned int device)