lkml.org 
[lkml]   [2013]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] lib: vsprintf: Add %pa format specifier for phys_addr_t types
On 01/22/2013 06:14:53 PM, Stepan Moskovchenko wrote:
> Add the %pa format specifier for printing a phys_addr_t
> type and its derivative types (such as resource_size_t),
> since the physical address size on some platforms can vary
> based on build options, regardless of the native integer
> type.
>
> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>

Ok, I know I'm late to the party, but doesn't LP64 apply here? Are we
really capable of building on a target where "long" and "pointer" are
different sizes? Last I checked the kernel was full of that assumption
because there was an actual standard and we demanded that the compiler
building us comply with it, just like MacOS X and the BSDs do:

Standard:
http://www.unix.org/whitepapers/64bit.html

Rationale:
http://www.unix.org/version2/whatsnew/lp64_wp.html

Insane legacy reasons Windows decided to be "special":
http://blogs.msdn.com/oldnewthing/archive/2005/01/31/363790.aspx

Thus "unsigned long" should by definition be big enough. Using unsigned
long long means you're doing 64 bit math on 32 bit targets for no
apparent reason.

What did I miss?

Rob

\
 
 \ /
  Last update: 2013-02-07 06:21    [W:0.211 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site