[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 6/9] bsd-user/mmap.c: Convert to qemu_log logging for mmap
From: |
Kyle Evans |
Subject: |
Re: [PATCH v3 6/9] bsd-user/mmap.c: Convert to qemu_log logging for mmap debugging |
Date: |
Sun, 17 Oct 2021 22:44:54 -0500 |
On Fri, Oct 8, 2021 at 4:25 PM Warner Losh <imp@bsdimp.com> wrote:
>
> Convert DEBUG_MMAP to qemu_log CPU_LOG_PAGE.
>
> Signed-off-by: Warner Losh <imp@bsdimp.com>
> ---
> bsd-user/mmap.c | 53 +++++++++++++++++++++----------------------------
> 1 file changed, 23 insertions(+), 30 deletions(-)
>
> diff --git a/bsd-user/mmap.c b/bsd-user/mmap.c
> index 301108ed25..face98573f 100644
> --- a/bsd-user/mmap.c
> +++ b/bsd-user/mmap.c
> @@ -21,8 +21,6 @@
> #include "qemu.h"
> #include "qemu-common.h"
>
> -//#define DEBUG_MMAP
> -
> static pthread_mutex_t mmap_mutex = PTHREAD_MUTEX_INITIALIZER;
> static __thread int mmap_lock_count;
>
> @@ -67,14 +65,11 @@ int target_mprotect(abi_ulong start, abi_ulong len, int
> prot)
> abi_ulong end, host_start, host_end, addr;
> int prot1, ret;
>
> -#ifdef DEBUG_MMAP
> - printf("mprotect: start=0x" TARGET_ABI_FMT_lx
> - "len=0x" TARGET_ABI_FMT_lx " prot=%c%c%c\n", start, len,
> - prot & PROT_READ ? 'r' : '-',
> - prot & PROT_WRITE ? 'w' : '-',
> - prot & PROT_EXEC ? 'x' : '-');
> -#endif
> -
> + qemu_log_mask(CPU_LOG_PAGE, "mprotect: start=0x" TARGET_ABI_FMT_lx
> + " len=0x" TARGET_ABI_FMT_lx " prot=%c%c%c\n", start, len,
> + prot & PROT_READ ? 'r' : '-',
> + prot & PROT_WRITE ? 'w' : '-',
> + prot & PROT_EXEC ? 'x' : '-');
> if ((start & ~TARGET_PAGE_MASK) != 0)
> return -EINVAL;
> len = TARGET_PAGE_ALIGN(len);
> @@ -391,45 +386,43 @@ abi_long target_mmap(abi_ulong start, abi_ulong len,
> int prot,
> abi_ulong ret, end, real_start, real_end, retaddr, host_offset, host_len;
>
> mmap_lock();
> -#ifdef DEBUG_MMAP
> - {
> - printf("mmap: start=0x" TARGET_ABI_FMT_lx
> - " len=0x" TARGET_ABI_FMT_lx " prot=%c%c%c flags=",
> - start, len,
> - prot & PROT_READ ? 'r' : '-',
> - prot & PROT_WRITE ? 'w' : '-',
> - prot & PROT_EXEC ? 'x' : '-');
> + if (qemu_loglevel_mask(CPU_LOG_PAGE)) {
> + qemu_log("mmap: start=0x" TARGET_ABI_FMT_lx
> + " len=0x" TARGET_ABI_FMT_lx " prot=%c%c%c flags=",
> + start, len,
> + prot & PROT_READ ? 'r' : '-',
> + prot & PROT_WRITE ? 'w' : '-',
> + prot & PROT_EXEC ? 'x' : '-');
> if (flags & MAP_ALIGNMENT_MASK) {
> - printf("MAP_ALIGNED(%u) ", (flags & MAP_ALIGNMENT_MASK)
> - >> MAP_ALIGNMENT_SHIFT);
> + qemu_log("MAP_ALIGNED(%u) ",
> + (flags & MAP_ALIGNMENT_MASK) >> MAP_ALIGNMENT_SHIFT);
> }
> if (flags & MAP_GUARD) {
> - printf("MAP_GUARD ");
> + qemu_log("MAP_GUARD ");
> }
> if (flags & MAP_FIXED) {
> - printf("MAP_FIXED ");
> + qemu_log("MAP_FIXED ");
> }
> if (flags & MAP_ANON) {
> - printf("MAP_ANON ");
> + qemu_log("MAP_ANON ");
> }
> if (flags & MAP_EXCL) {
> - printf("MAP_EXCL ");
> + qemu_log("MAP_EXCL ");
> }
> if (flags & MAP_PRIVATE) {
> - printf("MAP_PRIVATE ");
> + qemu_log("MAP_PRIVATE ");
> }
> if (flags & MAP_SHARED) {
> - printf("MAP_SHARED ");
> + qemu_log("MAP_SHARED ");
> }
> if (flags & MAP_NOCORE) {
> - printf("MAP_NOCORE ");
> + qemu_log("MAP_NOCORE ");
> }
> if (flags & MAP_STACK) {
> - printf("MAP_STACK ");
> + qemu_log("MAP_STACK ");
> }
> - printf("fd=%d offset=0x%llx\n", fd, offset);
> + qemu_log("fd=%d offset=0x%lx\n", fd, offset);
> }
> -#endif
>
> if ((flags & MAP_ANON) && fd != -1) {
> errno = EINVAL;
> --
> 2.32.0
>
>
Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
- [PATCH v3 0/9] bsd-user mmap fixes, Warner Losh, 2021/10/08
- [PATCH v3 1/9] bsd-user/mmap.c: Always zero MAP_ANONYMOUS memory in mmap_frag(), Warner Losh, 2021/10/08
- [PATCH v3 2/9] bsd-user/mmap.c: check pread's return value to fix warnings with _FORTIFY_SOURCE, Warner Losh, 2021/10/08
- [PATCH v3 6/9] bsd-user/mmap.c: Convert to qemu_log logging for mmap debugging, Warner Losh, 2021/10/08
- [PATCH v3 4/9] bsd-user/mmap.c: mmap return ENOMEM on overflow, Warner Losh, 2021/10/08
- [PATCH v3 3/9] bsd-user/mmap.c: MAP_ symbols are defined, so no need for ifdefs, Warner Losh, 2021/10/08
- [PATCH v3 5/9] bsd-user/mmap.c: mmap prefer MAP_ANON for BSD, Warner Losh, 2021/10/08
- [PATCH v3 8/9] bsd-user/mmap.c: Implement MAP_EXCL, required by jemalloc in head, Warner Losh, 2021/10/08
- [PATCH v3 7/9] bsd-user/mmap.c: Don't mmap fd == -1 independently from MAP_ANON flag, Warner Losh, 2021/10/08