|
@@ -123,3 +123,38 @@ We use traditional C-style /* */ comments and avoid // comments.
|
|
|
|
|
|
Rationale: The // form is valid in C99, so this is purely a matter of
|
|
|
consistency of style. The checkpatch script will warn you about this.
|
|
|
+
|
|
|
+8. trace-events style
|
|
|
+
|
|
|
+8.1 0x prefix
|
|
|
+
|
|
|
+In trace-events files, use a '0x' prefix to specify hex numbers, as in:
|
|
|
+
|
|
|
+some_trace(unsigned x, uint64_t y) "x 0x%x y 0x" PRIx64
|
|
|
+
|
|
|
+An exception is made for groups of numbers that are hexadecimal by
|
|
|
+convention and separated by the symbols '.', '/', ':', or ' ' (such as
|
|
|
+PCI bus id):
|
|
|
+
|
|
|
+another_trace(int cssid, int ssid, int dev_num) "bus id: %x.%x.%04x"
|
|
|
+
|
|
|
+However, you can use '0x' for such groups if you want. Anyway, be sure that
|
|
|
+it is obvious that numbers are in hex, ex.:
|
|
|
+
|
|
|
+data_dump(uint8_t c1, uint8_t c2, uint8_t c3) "bytes (in hex): %02x %02x %02x"
|
|
|
+
|
|
|
+Rationale: hex numbers are hard to read in logs when there is no 0x prefix,
|
|
|
+especially when (occasionally) the representation doesn't contain any letters
|
|
|
+and especially in one line with other decimal numbers. Number groups are allowed
|
|
|
+to not use '0x' because for some things notations like %x.%x.%x are used not
|
|
|
+only in Qemu. Also dumping raw data bytes with '0x' is less readable.
|
|
|
+
|
|
|
+8.2 '#' printf flag
|
|
|
+
|
|
|
+Do not use printf flag '#', like '%#x'.
|
|
|
+
|
|
|
+Rationale: there are two ways to add a '0x' prefix to printed number: '0x%...'
|
|
|
+and '%#...'. For consistency the only one way should be used. Arguments for
|
|
|
+'0x%' are:
|
|
|
+ - it is more popular
|
|
|
+ - '%#' omits the 0x for the value 0 which makes output inconsistent
|