mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
include/exec: Split out mmap-lock.h
Split out mmap_lock, et al from page-protection.h to a new header. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
87f8eb1d30
commit
4d3ad3c3ba
14 changed files with 45 additions and 22 deletions
|
@ -27,6 +27,7 @@
|
|||
#include "disas/disas.h"
|
||||
#include "exec/cpu-common.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
#include "exec/translation-block.h"
|
||||
#include "tcg/tcg.h"
|
||||
#include "qemu/atomic.h"
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include "exec/translation-block.h"
|
||||
#include "tb-internal.h"
|
||||
#include "tcg-target-mo.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
|
||||
/*
|
||||
* Access to the various translations structures need to be serialised
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "exec/log.h"
|
||||
#include "exec/exec-all.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
#include "exec/tb-flush.h"
|
||||
#include "tb-internal.h"
|
||||
#include "system/tcg.h"
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
|
||||
#include "exec/cputlb.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
#include "tb-internal.h"
|
||||
#include "exec/translator.h"
|
||||
#include "exec/tb-flush.h"
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
#include <fcntl.h>
|
||||
|
||||
#include "qemu-bsd.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "user/page-protection.h"
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "qemu/osdep.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "user/page-protection.h"
|
||||
|
||||
|
|
33
include/exec/mmap-lock.h
Normal file
33
include/exec/mmap-lock.h
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* QEMU user-only mmap lock, with stubs for system mode
|
||||
*
|
||||
* Copyright (c) 2003 Fabrice Bellard
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
*/
|
||||
#ifndef EXEC_MMAP_LOCK_H
|
||||
#define EXEC_MMAP_LOCK_H
|
||||
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
|
||||
void TSA_NO_TSA mmap_lock(void);
|
||||
void TSA_NO_TSA mmap_unlock(void);
|
||||
bool have_mmap_lock(void);
|
||||
|
||||
static inline void mmap_unlock_guard(void *unused)
|
||||
{
|
||||
mmap_unlock();
|
||||
}
|
||||
|
||||
#define WITH_MMAP_LOCK_GUARD() \
|
||||
for (int _mmap_lock_iter __attribute__((cleanup(mmap_unlock_guard))) \
|
||||
= (mmap_lock(), 0); _mmap_lock_iter == 0; _mmap_lock_iter = 1)
|
||||
|
||||
#else
|
||||
|
||||
static inline void mmap_lock(void) {}
|
||||
static inline void mmap_unlock(void) {}
|
||||
#define WITH_MMAP_LOCK_GUARD()
|
||||
|
||||
#endif /* CONFIG_USER_ONLY */
|
||||
#endif /* EXEC_MMAP_LOCK_H */
|
|
@ -38,26 +38,4 @@
|
|||
*/
|
||||
#define PAGE_PASSTHROUGH 0x0800
|
||||
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
|
||||
void TSA_NO_TSA mmap_lock(void);
|
||||
void TSA_NO_TSA mmap_unlock(void);
|
||||
bool have_mmap_lock(void);
|
||||
|
||||
static inline void mmap_unlock_guard(void *unused)
|
||||
{
|
||||
mmap_unlock();
|
||||
}
|
||||
|
||||
#define WITH_MMAP_LOCK_GUARD() \
|
||||
for (int _mmap_lock_iter __attribute__((cleanup(mmap_unlock_guard))) \
|
||||
= (mmap_lock(), 0); _mmap_lock_iter == 0; _mmap_lock_iter = 1)
|
||||
#else
|
||||
|
||||
static inline void mmap_lock(void) {}
|
||||
static inline void mmap_unlock(void) {}
|
||||
#define WITH_MMAP_LOCK_GUARD()
|
||||
|
||||
#endif /* !CONFIG_USER_ONLY */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include "signal-common.h"
|
||||
#include "semihosting/common-semi.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
#include "user/page-protection.h"
|
||||
#include "target/arm/syndrome.h"
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "user/tswap-target.h"
|
||||
#include "user/page-protection.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
#include "exec/translation-block.h"
|
||||
#include "user/guest-base.h"
|
||||
#include "user-internals.h"
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
|
||||
#include "qemu.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
#include "user-internals.h"
|
||||
#include "loader.h"
|
||||
#include "user-mmap.h"
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#include "trace.h"
|
||||
#include "exec/log.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
#include "exec/tb-flush.h"
|
||||
#include "exec/translation-block.h"
|
||||
#include "qemu.h"
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "tcg/startup.h"
|
||||
#include "target_mman.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
#include "exec/tb-flush.h"
|
||||
#include "exec/translation-block.h"
|
||||
#include <elf.h>
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include "cpu-features.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "exec/mmap-lock.h"
|
||||
#include "qemu/main-loop.h"
|
||||
#include "qemu/timer.h"
|
||||
#include "qemu/bitops.h"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue