Re: [PATCH] printk-formats.txt documentation update

Tim Bird
2011-02-06T00:27:54Z

On 02/05/2011 04:15 PM, Andrew Murray wrote:
> From: Andrew Murray <amurray@mpc-data.co.uk>
>
> This patch updates the incomplete documentation concerning the printk
> extended format specifiers.
>
> Signed-off-by: Andrew Murray <amurray@mpc-data.co.uk>
> ---
> diff --git a/Documentation/printk-formats.txt b/Documentation/printk-formats.txt
> index 1b5a5dd..df14336 100644
> --- a/Documentation/printk-formats.txt
> +++ b/Documentation/printk-formats.txt
> @@ -9,7 +9,42 @@ If variable is of Type, use printk format specifier:
> size_t %zu or %zx
> ssize_t %zd or %zx
>
> -Raw pointer value SHOULD be printed with %p.
> +Raw pointer value SHOULD be printed with %p. The kernel supports
> +the following extended format specifiers for pointer types:
> +
> + General:
> +
> + %pF function pointer with offset, e.g. module_start
> + %pf function pointer without offset, e.g. module_start+0x0/0x62 [hello]
> + %pS text symbol with offset
> + %ps text symbol without offset
> + %pR struct resource with decoded flags, e.g. [mem 0x0-0x1f 64 bit pref]
> + %pr struct resource with raw flags, e.g. [mem 0x0-0x1f flags 0x201]
> +
> + MAC/FDDI addresses:
> +
> + %pM colon-seperated 6-byte MAC address in hex notation, e.g. 00:01:02:03:04:05
> + %pm non-colon-seperated 6-byte MAC address is hex notation, e.g. 000102030405
> + %pMF 6-byte dash-separated FDDI hex notation
> +
> + IPv4 addresses:
> +
> + %pI4 IPv4 dot-seperated decimal without leading 0's, e.g. 1.2.3.4
> + %pi4 IPv4 dot-seperated decimal with leading 0's, 001.002.003.004
> + %p[Ii]4[hl] IPv4 dot-seperated decimal with/without leading 0's for
> + host (h), little (l) or network/big (default) endian order
> +
> + IPv6 addresses:
> + %pI6 IPv6 colon-seperated network-order 16 bit hex with leading 0's,
> + e.g. 0001:0203:...:0708
> + %pi6 IPv6 non-colon-seperated network-order 16 bit hex with leading 0's,
> + e.g. 000102...0f
> + %pI6c IPv6 address as described by
> + http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-00,
> + e.g. 1::708
> +
> + %pU[bBlL] 16 byte UUID/GUID in big or little endian using lower or upper case
> +
>
> u64 SHOULD be printed with %llu/%llx, (unsigned long long):

I like this, as it has information that is not documented elsewhere.

Some feedback on the patch:

Some of these lines are longer than 80 chars. Can you please truncate
things to fit in an 80-column terminal window?

Thanks,
-- Tim

=============================
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Network Entertainment
=============================