aboutsummaryrefslogtreecommitdiff
path: root/bsd-user
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2021-08-05 15:31:21 -0600
committerWarner Losh <imp@bsdimp.com>2021-09-10 14:13:06 -0600
commit6a3b9bfde0aff84d1bf2901c89a0d7485e1229d0 (patch)
tree5cada9862826fdef3491f278637f9ff0ba3dc1fa /bsd-user
parent366c5c9f8d8222443c09fccdd7b7e164aae1c671 (diff)
bsd-user: update debugging in mmap.c
Update the debugging code for new features and different targets. Signed-off-by: Mikaƫl Urankar <mikael.urankar@gmail.com> Signed-off-by: Sean Bruno <sbruno@FreeBSD.org> Signed-off-by: Kyle Evans <kevans@FreeBSD.org> Signed-off-by: Warner Losh <imp@bsdimp.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
Diffstat (limited to 'bsd-user')
-rw-r--r--bsd-user/mmap.c55
1 files changed, 38 insertions, 17 deletions
diff --git a/bsd-user/mmap.c b/bsd-user/mmap.c
index 03119b1f20..8918c4ae68 100644
--- a/bsd-user/mmap.c
+++ b/bsd-user/mmap.c
@@ -68,8 +68,8 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
int prot1, ret;
#ifdef DEBUG_MMAP
- printf("mprotect: start=0x" TARGET_FMT_lx
- " len=0x" TARGET_FMT_lx " prot=%c%c%c\n", start, len,
+ 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' : '-');
@@ -250,28 +250,47 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
mmap_lock();
#ifdef DEBUG_MMAP
{
- printf("mmap: start=0x" TARGET_FMT_lx
- " len=0x" TARGET_FMT_lx " prot=%c%c%c flags=",
+ 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 (flags & MAP_FIXED)
+ if (flags & MAP_ALIGNMENT_MASK) {
+ printf("MAP_ALIGNED(%u) ", (flags & MAP_ALIGNMENT_MASK)
+ >> MAP_ALIGNMENT_SHIFT);
+ }
+#if MAP_GUARD
+ if (flags & MAP_GUARD) {
+ printf("MAP_GUARD ");
+ }
+#endif
+ if (flags & MAP_FIXED) {
printf("MAP_FIXED ");
- if (flags & MAP_ANON)
+ }
+ if (flags & MAP_ANONYMOUS) {
printf("MAP_ANON ");
- switch (flags & TARGET_BSD_MAP_FLAGMASK) {
- case MAP_PRIVATE:
+ }
+#ifdef MAP_EXCL
+ if (flags & MAP_EXCL) {
+ printf("MAP_EXCL ");
+ }
+#endif
+ if (flags & MAP_PRIVATE) {
printf("MAP_PRIVATE ");
- break;
- case MAP_SHARED:
+ }
+ if (flags & MAP_SHARED) {
printf("MAP_SHARED ");
- break;
- default:
- printf("[MAP_FLAGMASK=0x%x] ", flags & TARGET_BSD_MAP_FLAGMASK);
- break;
}
- printf("fd=%d offset=" TARGET_FMT_lx "\n", fd, offset);
+ if (flags & MAP_NOCORE) {
+ printf("MAP_NOCORE ");
+ }
+#ifdef MAP_STACK
+ if (flags & MAP_STACK) {
+ printf("MAP_STACK ");
+ }
+#endif
+ printf("fd=%d offset=0x%llx\n", fd, offset);
}
#endif
@@ -399,7 +418,7 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
page_set_flags(start, start + len, prot | PAGE_VALID);
the_end:
#ifdef DEBUG_MMAP
- printf("ret=0x" TARGET_FMT_lx "\n", start);
+ printf("ret=0x" TARGET_ABI_FMT_lx "\n", start);
page_dump(stdout);
printf("\n");
#endif
@@ -416,7 +435,9 @@ int target_munmap(abi_ulong start, abi_ulong len)
int prot, ret;
#ifdef DEBUG_MMAP
- printf("munmap: start=0x%lx len=0x%lx\n", start, len);
+ printf("munmap: start=0x" TARGET_ABI_FMT_lx " len=0x"
+ TARGET_ABI_FMT_lx "\n",
+ start, len);
#endif
if (start & ~TARGET_PAGE_MASK)
return -EINVAL;