1Xen custom %p format options. A subset, borrowed from Linux. 2 3All parameters to a %p option should be compatible with void*. Regular 4pointers are fine. Numbers should make use of the _p() macro. 5 6Raw buffer as hex string: 7 8 %*ph 00 01 02 ... 3f 9 %*phC 00:01:02: ... :3f 10 %*phD 00-01-02- ... -3f 11 %*phN 000102 ... 3f 12 13 Up to 64 characters. Buffer length expected via the field_width 14 paramter. i.e. printk("%*ph", 8, buffer); 15 16Bitmaps (e.g. cpumask/nodemask): 17 18 %*pb 4321 19 %*pbl 0,5,8-9,14 20 21 Print a bitmap as either a hex string, or a range list. Bitmap length 22 (in bits) expected via the field_width parameter. 23 24Symbol/Function pointers: 25 26 %ps Symbol name with condition offset and size (iff offset != 0) 27 e.g. printk 28 default_idle+0x78/0x7d 29 30 %pS Symbol name with unconditional offset and size 31 e.g. printk+0/0x48 32 default_idle+0x78/0x7d 33 34 In the case that an appropriate symbol name can't be found, %p[sS] will 35 fall back to '%p' and print the address in hex. 36 37Domain and vCPU information: 38 39 %pd Domain from a 'struct domain *' 40 41 Regular domains are printed with their ID in decimal. System 42 domains are printed with their name. 43 e.g. d0 44 d[IDLE] 45 46 %pv Domain and vCPU ID from a 'struct vcpu *' 47 48 The domain part as above, with the vcpu_id printed in decimal. 49 e.g. d0v1 50 d[IDLE]v0 51