[U-Boot-Users] [PATCH][FDT][UPDATE] Add common memory fixup function
Scott Wood
scottwood at freescale.com
Thu Nov 29 00:04:26 CET 2007
Kumar Gala wrote:
> On Nov 28, 2007, at 4:38 PM, Scott Wood wrote:
>> Kumar Gala wrote:
>>> I don't see how to use them w/o going through an additional memcpy.
>>> If you can provide a better solution I'm all for it. But I don't see
>>> any reason to hold up the patch at this point.
>>
>> union {
>> uint8_t tmp[8];
>> uint64_t mem64;
>> uint32_t mem32;
>> }
>>
>> int len;
>>
>> if (addrcell && *addrcell == 2) {
>> mem64 = cpu_to_fdt64(memsize);
>> len = 8;
>> } else {
>> mem32 = cpu_to_fdt32(memsize);
>> len = 4;
>> }
>
> This gets more complicated with finishing off the rest of temp since you
> have to use len to figure out an index.
OK, so make mem64/mem32 arrays. :-P
> I'm keeping the code as is since its the simplest version.
Fine, if you don't mind making people's eyes bleed...
Maybe a generic function that takes a buffer pointer, a uint64_t, and a
numcells? This is hardly going to be the only place that needs to write
out a quantity that might be one or two cells.
-Scott
More information about the U-Boot
mailing list