tracetool: carefully define SDT_USE_VARIADIC
[qemu.git] / scripts / coccinelle / exec_rw_const.cocci
1 /*
2   Usage:
3
4     spatch \
5            --macro-file scripts/cocci-macro-file.h \
6            --sp-file scripts/coccinelle/exec_rw_const.cocci \
7            --keep-comments \
8            --in-place \
9            --dir .
10 */
11
12 // Convert to boolean
13 @@
14 expression E1, E2, E3, E4, E5;
15 @@
16 (
17 - address_space_rw(E1, E2, E3, E4, E5, 0)
18 + address_space_rw(E1, E2, E3, E4, E5, false)
19 |
20 - address_space_rw(E1, E2, E3, E4, E5, 1)
21 + address_space_rw(E1, E2, E3, E4, E5, true)
22 |
23
24 - cpu_physical_memory_rw(E1, E2, E3, 0)
25 + cpu_physical_memory_rw(E1, E2, E3, false)
26 |
27 - cpu_physical_memory_rw(E1, E2, E3, 1)
28 + cpu_physical_memory_rw(E1, E2, E3, true)
29 |
30
31 - cpu_physical_memory_map(E1, E2, 0)
32 + cpu_physical_memory_map(E1, E2, false)
33 |
34 - cpu_physical_memory_map(E1, E2, 1)
35 + cpu_physical_memory_map(E1, E2, true)
36 )
37
38 // Use address_space_write instead of casting to non-const
39 @@
40 type T;
41 const T *V;
42 expression E1, E2, E3, E4;
43 @@
44 (
45 - address_space_rw(E1, E2, E3, (T *)V, E4, 1)
46 + address_space_write(E1, E2, E3, V, E4)
47 |
48 - address_space_rw(E1, E2, E3, (void *)V, E4, 1)
49 + address_space_write(E1, E2, E3, V, E4)
50 )
51
52 // Avoid uses of address_space_rw() with a constant is_write argument.
53 @@
54 expression E1, E2, E3, E4, E5;
55 symbol true, false;
56 @@
57 (
58 - address_space_rw(E1, E2, E3, E4, E5, false)
59 + address_space_read(E1, E2, E3, E4, E5)
60 |
61 - address_space_rw(E1, E2, E3, E4, E5, true)
62 + address_space_write(E1, E2, E3, E4, E5)
63 )
64
65 // Avoid uses of cpu_physical_memory_rw() with a constant is_write argument.
66 @@
67 expression E1, E2, E3;
68 @@
69 (
70 - cpu_physical_memory_rw(E1, E2, E3, false)
71 + cpu_physical_memory_read(E1, E2, E3)
72 |
73 - cpu_physical_memory_rw(E1, E2, E3, true)
74 + cpu_physical_memory_write(E1, E2, E3)
75 )
76
77 // Remove useless cast
78 @@
79 expression E1, E2, E3, E4, E5, E6;
80 type T;
81 @@
82 (
83 - address_space_rw(E1, E2, E3, (T *)(E4), E5, E6)
84 + address_space_rw(E1, E2, E3, E4, E5, E6)
85 |
86 - address_space_read(E1, E2, E3, (T *)(E4), E5)
87 + address_space_read(E1, E2, E3, E4, E5)
88 |
89 - address_space_write(E1, E2, E3, (T *)(E4), E5)
90 + address_space_write(E1, E2, E3, E4, E5)
91 |
92 - address_space_write_rom(E1, E2, E3, (T *)(E4), E5)
93 + address_space_write_rom(E1, E2, E3, E4, E5)
94 |
95
96 - cpu_physical_memory_rw(E1, (T *)(E2), E3, E4)
97 + cpu_physical_memory_rw(E1, E2, E3, E4)
98 |
99 - cpu_physical_memory_read(E1, (T *)(E2), E3)
100 + cpu_physical_memory_read(E1, E2, E3)
101 |
102 - cpu_physical_memory_write(E1, (T *)(E2), E3)
103 + cpu_physical_memory_write(E1, E2, E3)
104 |
105
106 - dma_memory_read(E1, E2, (T *)(E3), E4)
107 + dma_memory_read(E1, E2, E3, E4)
108 |
109 - dma_memory_write(E1, E2, (T *)(E3), E4)
110 + dma_memory_write(E1, E2, E3, E4)
111 )