include: Move qemu_madvise() and related #defines to new qemu/madvise.h
The function qemu_madvise() and the QEMU_MADV_* constants associated with it are used in only 10 files. Move them out of osdep.h to a new qemu/madvise.h header that is included where it is needed. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20220208200856.3558249-2-peter.maydell@linaro.org
This commit is contained in:
		
							parent
							
								
									542e87c7a2
								
							
						
					
					
						commit
						b85ea5fa2f
					
				| @ -14,6 +14,7 @@ | ||||
| #include "qapi/error.h" | ||||
| #include "qemu/error-report.h" | ||||
| #include "qemu/module.h" | ||||
| #include "qemu/madvise.h" | ||||
| #include "sysemu/hostmem.h" | ||||
| #include "qom/object_interfaces.h" | ||||
| #include "qom/object.h" | ||||
|  | ||||
| @ -19,6 +19,7 @@ | ||||
| #include "qemu/config-file.h" | ||||
| #include "qom/object_interfaces.h" | ||||
| #include "qemu/mmap-alloc.h" | ||||
| #include "qemu/madvise.h" | ||||
| 
 | ||||
| #ifdef CONFIG_NUMA | ||||
| #include <numaif.h> | ||||
|  | ||||
| @ -17,6 +17,7 @@ | ||||
| #include "qemu/iov.h" | ||||
| #include "qemu/module.h" | ||||
| #include "qemu/timer.h" | ||||
| #include "qemu/madvise.h" | ||||
| #include "hw/virtio/virtio.h" | ||||
| #include "hw/mem/pc-dimm.h" | ||||
| #include "hw/qdev-properties.h" | ||||
|  | ||||
							
								
								
									
										95
									
								
								include/qemu/madvise.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								include/qemu/madvise.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,95 @@ | ||||
| /*
 | ||||
|  * QEMU madvise wrapper functions | ||||
|  * | ||||
|  * This work is licensed under the terms of the GNU GPL, version 2 or later. | ||||
|  * See the COPYING file in the top-level directory. | ||||
|  */ | ||||
| 
 | ||||
| #ifndef QEMU_MADVISE_H | ||||
| #define QEMU_MADVISE_H | ||||
| 
 | ||||
| #define QEMU_MADV_INVALID -1 | ||||
| 
 | ||||
| #if defined(CONFIG_MADVISE) | ||||
| 
 | ||||
| #define QEMU_MADV_WILLNEED  MADV_WILLNEED | ||||
| #define QEMU_MADV_DONTNEED  MADV_DONTNEED | ||||
| #ifdef MADV_DONTFORK | ||||
| #define QEMU_MADV_DONTFORK  MADV_DONTFORK | ||||
| #else | ||||
| #define QEMU_MADV_DONTFORK  QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_MERGEABLE | ||||
| #define QEMU_MADV_MERGEABLE MADV_MERGEABLE | ||||
| #else | ||||
| #define QEMU_MADV_MERGEABLE QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_UNMERGEABLE | ||||
| #define QEMU_MADV_UNMERGEABLE MADV_UNMERGEABLE | ||||
| #else | ||||
| #define QEMU_MADV_UNMERGEABLE QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_DODUMP | ||||
| #define QEMU_MADV_DODUMP MADV_DODUMP | ||||
| #else | ||||
| #define QEMU_MADV_DODUMP QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_DONTDUMP | ||||
| #define QEMU_MADV_DONTDUMP MADV_DONTDUMP | ||||
| #else | ||||
| #define QEMU_MADV_DONTDUMP QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_HUGEPAGE | ||||
| #define QEMU_MADV_HUGEPAGE MADV_HUGEPAGE | ||||
| #else | ||||
| #define QEMU_MADV_HUGEPAGE QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_NOHUGEPAGE | ||||
| #define QEMU_MADV_NOHUGEPAGE MADV_NOHUGEPAGE | ||||
| #else | ||||
| #define QEMU_MADV_NOHUGEPAGE QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_REMOVE | ||||
| #define QEMU_MADV_REMOVE MADV_REMOVE | ||||
| #else | ||||
| #define QEMU_MADV_REMOVE QEMU_MADV_DONTNEED | ||||
| #endif | ||||
| #ifdef MADV_POPULATE_WRITE | ||||
| #define QEMU_MADV_POPULATE_WRITE MADV_POPULATE_WRITE | ||||
| #else | ||||
| #define QEMU_MADV_POPULATE_WRITE QEMU_MADV_INVALID | ||||
| #endif | ||||
| 
 | ||||
| #elif defined(CONFIG_POSIX_MADVISE) | ||||
| 
 | ||||
| #define QEMU_MADV_WILLNEED  POSIX_MADV_WILLNEED | ||||
| #define QEMU_MADV_DONTNEED  POSIX_MADV_DONTNEED | ||||
| #define QEMU_MADV_DONTFORK  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_MERGEABLE QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_UNMERGEABLE QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DODUMP QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DONTDUMP QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_HUGEPAGE  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_NOHUGEPAGE  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_REMOVE QEMU_MADV_DONTNEED | ||||
| #define QEMU_MADV_POPULATE_WRITE QEMU_MADV_INVALID | ||||
| 
 | ||||
| #else /* no-op */ | ||||
| 
 | ||||
| #define QEMU_MADV_WILLNEED  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DONTNEED  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DONTFORK  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_MERGEABLE QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_UNMERGEABLE QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DODUMP QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DONTDUMP QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_HUGEPAGE  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_NOHUGEPAGE  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_REMOVE QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_POPULATE_WRITE QEMU_MADV_INVALID | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| int qemu_madvise(void *addr, size_t len, int advice); | ||||
| 
 | ||||
| #endif | ||||
| @ -425,87 +425,6 @@ static inline void qemu_cleanup_generic_vfree(void *p) | ||||
| #define QEMU_MAP_NORESERVE  (1 << 3) | ||||
| 
 | ||||
| 
 | ||||
| #define QEMU_MADV_INVALID -1 | ||||
| 
 | ||||
| #if defined(CONFIG_MADVISE) | ||||
| 
 | ||||
| #define QEMU_MADV_WILLNEED  MADV_WILLNEED | ||||
| #define QEMU_MADV_DONTNEED  MADV_DONTNEED | ||||
| #ifdef MADV_DONTFORK | ||||
| #define QEMU_MADV_DONTFORK  MADV_DONTFORK | ||||
| #else | ||||
| #define QEMU_MADV_DONTFORK  QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_MERGEABLE | ||||
| #define QEMU_MADV_MERGEABLE MADV_MERGEABLE | ||||
| #else | ||||
| #define QEMU_MADV_MERGEABLE QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_UNMERGEABLE | ||||
| #define QEMU_MADV_UNMERGEABLE MADV_UNMERGEABLE | ||||
| #else | ||||
| #define QEMU_MADV_UNMERGEABLE QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_DODUMP | ||||
| #define QEMU_MADV_DODUMP MADV_DODUMP | ||||
| #else | ||||
| #define QEMU_MADV_DODUMP QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_DONTDUMP | ||||
| #define QEMU_MADV_DONTDUMP MADV_DONTDUMP | ||||
| #else | ||||
| #define QEMU_MADV_DONTDUMP QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_HUGEPAGE | ||||
| #define QEMU_MADV_HUGEPAGE MADV_HUGEPAGE | ||||
| #else | ||||
| #define QEMU_MADV_HUGEPAGE QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_NOHUGEPAGE | ||||
| #define QEMU_MADV_NOHUGEPAGE MADV_NOHUGEPAGE | ||||
| #else | ||||
| #define QEMU_MADV_NOHUGEPAGE QEMU_MADV_INVALID | ||||
| #endif | ||||
| #ifdef MADV_REMOVE | ||||
| #define QEMU_MADV_REMOVE MADV_REMOVE | ||||
| #else | ||||
| #define QEMU_MADV_REMOVE QEMU_MADV_DONTNEED | ||||
| #endif | ||||
| #ifdef MADV_POPULATE_WRITE | ||||
| #define QEMU_MADV_POPULATE_WRITE MADV_POPULATE_WRITE | ||||
| #else | ||||
| #define QEMU_MADV_POPULATE_WRITE QEMU_MADV_INVALID | ||||
| #endif | ||||
| 
 | ||||
| #elif defined(CONFIG_POSIX_MADVISE) | ||||
| 
 | ||||
| #define QEMU_MADV_WILLNEED  POSIX_MADV_WILLNEED | ||||
| #define QEMU_MADV_DONTNEED  POSIX_MADV_DONTNEED | ||||
| #define QEMU_MADV_DONTFORK  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_MERGEABLE QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_UNMERGEABLE QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DODUMP QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DONTDUMP QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_HUGEPAGE  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_NOHUGEPAGE  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_REMOVE QEMU_MADV_DONTNEED | ||||
| #define QEMU_MADV_POPULATE_WRITE QEMU_MADV_INVALID | ||||
| 
 | ||||
| #else /* no-op */ | ||||
| 
 | ||||
| #define QEMU_MADV_WILLNEED  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DONTNEED  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DONTFORK  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_MERGEABLE QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_UNMERGEABLE QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DODUMP QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_DONTDUMP QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_HUGEPAGE  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_NOHUGEPAGE  QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_REMOVE QEMU_MADV_INVALID | ||||
| #define QEMU_MADV_POPULATE_WRITE QEMU_MADV_INVALID | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| #ifdef _WIN32 | ||||
| #define HAVE_CHARDEV_SERIAL 1 | ||||
| @ -577,7 +496,6 @@ void sigaction_invoke(struct sigaction *action, | ||||
|                       struct qemu_signalfd_siginfo *info); | ||||
| #endif | ||||
| 
 | ||||
| int qemu_madvise(void *addr, size_t len, int advice); | ||||
| int qemu_mprotect_rw(void *addr, size_t size); | ||||
| int qemu_mprotect_rwx(void *addr, size_t size); | ||||
| int qemu_mprotect_none(void *addr, size_t size); | ||||
|  | ||||
| @ -18,6 +18,7 @@ | ||||
| 
 | ||||
| #include "qemu/osdep.h" | ||||
| #include "qemu/rcu.h" | ||||
| #include "qemu/madvise.h" | ||||
| #include "exec/target_page.h" | ||||
| #include "migration.h" | ||||
| #include "qemu-file.h" | ||||
|  | ||||
| @ -23,6 +23,7 @@ | ||||
|  */ | ||||
| #include "qemu/osdep.h" | ||||
| #include <zlib.h> | ||||
| #include "qemu/madvise.h" | ||||
| #include "qemu/error-report.h" | ||||
| #include "qemu/iov.h" | ||||
| #include "migration.h" | ||||
|  | ||||
| @ -30,6 +30,7 @@ | ||||
| #include "qemu/cutils.h" | ||||
| #include "qemu/bitops.h" | ||||
| #include "qemu/bitmap.h" | ||||
| #include "qemu/madvise.h" | ||||
| #include "qemu/main-loop.h" | ||||
| #include "xbzrle.h" | ||||
| #include "ram.h" | ||||
|  | ||||
| @ -23,6 +23,7 @@ | ||||
| 
 | ||||
| #include "qemu/cutils.h" | ||||
| #include "qemu/cacheflush.h" | ||||
| #include "qemu/madvise.h" | ||||
| 
 | ||||
| #ifdef CONFIG_TCG | ||||
| #include "hw/core/tcg-cpu-ops.h" | ||||
|  | ||||
| @ -24,6 +24,7 @@ | ||||
| 
 | ||||
| #include "qemu/osdep.h" | ||||
| #include "qemu/units.h" | ||||
| #include "qemu/madvise.h" | ||||
| #include "qapi/error.h" | ||||
| #include "exec/exec-all.h" | ||||
| #include "tcg/tcg.h" | ||||
|  | ||||
| @ -38,6 +38,7 @@ extern int madvise(char *, size_t, int); | ||||
| #include "qemu/cutils.h" | ||||
| #include "qemu/sockets.h" | ||||
| #include "qemu/error-report.h" | ||||
| #include "qemu/madvise.h" | ||||
| #include "monitor/monitor.h" | ||||
| 
 | ||||
| static bool fips_enabled = false; | ||||
|  | ||||
| @ -36,6 +36,7 @@ | ||||
| #include "trace.h" | ||||
| #include "qapi/error.h" | ||||
| #include "qemu/error-report.h" | ||||
| #include "qemu/madvise.h" | ||||
| #include "qemu/sockets.h" | ||||
| #include "qemu/thread.h" | ||||
| #include <libgen.h> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Peter Maydell
						Peter Maydell