mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
The format identifier is consistent with Linux. The code is adapted from
bitmap_scn{,list}printf() but cleaned up.
This change allows all callers to avoid needing a secondary buffer to render a
cpumask/nodemask into.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: <jbeulich@suse.com>
51 lines
1.6 KiB
Plaintext
51 lines
1.6 KiB
Plaintext
Xen custom %p format options. A subset, borrowed from Linux.
|
|
|
|
All parameters to a %p option should be compatible with void*. Regular
|
|
pointers are fine. Numbers should make use of the _p() macro.
|
|
|
|
Raw buffer as hex string:
|
|
|
|
%*ph 00 01 02 ... 3f
|
|
%*phC 00:01:02: ... :3f
|
|
%*phD 00-01-02- ... -3f
|
|
%*phN 000102 ... 3f
|
|
|
|
Up to 64 characters. Buffer length expected via the field_width
|
|
paramter. i.e. printk("%*ph", 8, buffer);
|
|
|
|
Bitmaps (e.g. cpumask/nodemask):
|
|
|
|
%*pb 4321
|
|
%*pbl 0,5,8-9,14
|
|
|
|
Print a bitmap as either a hex string, or a range list. Bitmap length
|
|
(in bits) expected via the field_width parameter.
|
|
|
|
Symbol/Function pointers:
|
|
|
|
%ps Symbol name with condition offset and size (iff offset != 0)
|
|
e.g. printk
|
|
default_idle+0x78/0x7d
|
|
|
|
%pS Symbol name with unconditional offset and size
|
|
e.g. printk+0/0x48
|
|
default_idle+0x78/0x7d
|
|
|
|
In the case that an appropriate symbol name can't be found, %p[sS] will
|
|
fall back to '%p' and print the address in hex.
|
|
|
|
Domain and vCPU information:
|
|
|
|
%pd Domain from a 'struct domain *'
|
|
|
|
Regular domains are printed with their ID in decimal. System
|
|
domains are printed with their name.
|
|
e.g. d0
|
|
d[IDLE]
|
|
|
|
%pv Domain and vCPU ID from a 'struct vcpu *'
|
|
|
|
The domain part as above, with the vcpu_id printed in decimal.
|
|
e.g. d0v1
|
|
d[IDLE]v0
|