This commit was produced with the included Coccinelle script scripts/coccinelle/exec_rw_const. Inspired-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
		
			
				
	
	
		
			112 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/*
 | 
						|
  Usage:
 | 
						|
 | 
						|
    spatch \
 | 
						|
           --macro-file scripts/cocci-macro-file.h \
 | 
						|
           --sp-file scripts/coccinelle/exec_rw_const.cocci \
 | 
						|
           --keep-comments \
 | 
						|
           --in-place \
 | 
						|
           --dir .
 | 
						|
*/
 | 
						|
 | 
						|
// Convert to boolean
 | 
						|
@@
 | 
						|
expression E1, E2, E3, E4, E5;
 | 
						|
@@
 | 
						|
(
 | 
						|
- address_space_rw(E1, E2, E3, E4, E5, 0)
 | 
						|
+ address_space_rw(E1, E2, E3, E4, E5, false)
 | 
						|
|
 | 
						|
- address_space_rw(E1, E2, E3, E4, E5, 1)
 | 
						|
+ address_space_rw(E1, E2, E3, E4, E5, true)
 | 
						|
|
 | 
						|
 | 
						|
- cpu_physical_memory_rw(E1, E2, E3, 0)
 | 
						|
+ cpu_physical_memory_rw(E1, E2, E3, false)
 | 
						|
|
 | 
						|
- cpu_physical_memory_rw(E1, E2, E3, 1)
 | 
						|
+ cpu_physical_memory_rw(E1, E2, E3, true)
 | 
						|
|
 | 
						|
 | 
						|
- cpu_physical_memory_map(E1, E2, 0)
 | 
						|
+ cpu_physical_memory_map(E1, E2, false)
 | 
						|
|
 | 
						|
- cpu_physical_memory_map(E1, E2, 1)
 | 
						|
+ cpu_physical_memory_map(E1, E2, true)
 | 
						|
)
 | 
						|
 | 
						|
// Use address_space_write instead of casting to non-const
 | 
						|
@@
 | 
						|
type T;
 | 
						|
const T *V;
 | 
						|
expression E1, E2, E3, E4;
 | 
						|
@@
 | 
						|
(
 | 
						|
- address_space_rw(E1, E2, E3, (T *)V, E4, 1)
 | 
						|
+ address_space_write(E1, E2, E3, V, E4)
 | 
						|
|
 | 
						|
- address_space_rw(E1, E2, E3, (void *)V, E4, 1)
 | 
						|
+ address_space_write(E1, E2, E3, V, E4)
 | 
						|
)
 | 
						|
 | 
						|
// Avoid uses of address_space_rw() with a constant is_write argument.
 | 
						|
@@
 | 
						|
expression E1, E2, E3, E4, E5;
 | 
						|
symbol true, false;
 | 
						|
@@
 | 
						|
(
 | 
						|
- address_space_rw(E1, E2, E3, E4, E5, false)
 | 
						|
+ address_space_read(E1, E2, E3, E4, E5)
 | 
						|
|
 | 
						|
- address_space_rw(E1, E2, E3, E4, E5, true)
 | 
						|
+ address_space_write(E1, E2, E3, E4, E5)
 | 
						|
)
 | 
						|
 | 
						|
// Avoid uses of cpu_physical_memory_rw() with a constant is_write argument.
 | 
						|
@@
 | 
						|
expression E1, E2, E3;
 | 
						|
@@
 | 
						|
(
 | 
						|
- cpu_physical_memory_rw(E1, E2, E3, false)
 | 
						|
+ cpu_physical_memory_read(E1, E2, E3)
 | 
						|
|
 | 
						|
- cpu_physical_memory_rw(E1, E2, E3, true)
 | 
						|
+ cpu_physical_memory_write(E1, E2, E3)
 | 
						|
)
 | 
						|
 | 
						|
// Remove useless cast
 | 
						|
@@
 | 
						|
expression E1, E2, E3, E4, E5, E6;
 | 
						|
type T;
 | 
						|
@@
 | 
						|
(
 | 
						|
- address_space_rw(E1, E2, E3, (T *)(E4), E5, E6)
 | 
						|
+ address_space_rw(E1, E2, E3, E4, E5, E6)
 | 
						|
|
 | 
						|
- address_space_read(E1, E2, E3, (T *)(E4), E5)
 | 
						|
+ address_space_read(E1, E2, E3, E4, E5)
 | 
						|
|
 | 
						|
- address_space_write(E1, E2, E3, (T *)(E4), E5)
 | 
						|
+ address_space_write(E1, E2, E3, E4, E5)
 | 
						|
|
 | 
						|
- address_space_write_rom(E1, E2, E3, (T *)(E4), E5)
 | 
						|
+ address_space_write_rom(E1, E2, E3, E4, E5)
 | 
						|
|
 | 
						|
 | 
						|
- cpu_physical_memory_rw(E1, (T *)(E2), E3, E4)
 | 
						|
+ cpu_physical_memory_rw(E1, E2, E3, E4)
 | 
						|
|
 | 
						|
- cpu_physical_memory_read(E1, (T *)(E2), E3)
 | 
						|
+ cpu_physical_memory_read(E1, E2, E3)
 | 
						|
|
 | 
						|
- cpu_physical_memory_write(E1, (T *)(E2), E3)
 | 
						|
+ cpu_physical_memory_write(E1, E2, E3)
 | 
						|
|
 | 
						|
 | 
						|
- dma_memory_read(E1, E2, (T *)(E3), E4)
 | 
						|
+ dma_memory_read(E1, E2, E3, E4)
 | 
						|
|
 | 
						|
- dma_memory_write(E1, E2, (T *)(E3), E4)
 | 
						|
+ dma_memory_write(E1, E2, E3, E4)
 | 
						|
)
 |