From fd9788a02913328d401c5f162dd3d2f493455bd8 Mon Sep 17 00:00:00 2001 From: kib Date: Wed, 5 Aug 2015 07:21:44 +0000 Subject: [PATCH] MFC r285041: Use single instance of the identical INKERNEL() and PMC_IN_KERNEL() macros on amd64 and i386. On i386, correct the lowest kernel address. git-svn-id: svn://svn.freebsd.org/base/stable/10@286305 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- gnu/usr.bin/gdb/kgdb/trgt.c | 6 +++--- sys/amd64/include/param.h | 3 +++ sys/amd64/include/pmc_mdep.h | 4 +--- sys/amd64/include/stack.h | 2 -- sys/cddl/dev/dtrace/i386/dtrace_isa.c | 3 --- sys/i386/include/param.h | 3 +++ sys/i386/include/pmc_mdep.h | 3 +-- sys/i386/include/stack.h | 2 -- 8 files changed, 11 insertions(+), 15 deletions(-) diff --git a/gnu/usr.bin/gdb/kgdb/trgt.c b/gnu/usr.bin/gdb/kgdb/trgt.c index 85065ccc3..88a818445 100644 --- a/gnu/usr.bin/gdb/kgdb/trgt.c +++ b/gnu/usr.bin/gdb/kgdb/trgt.c @@ -64,7 +64,7 @@ kvm_t *kvm; static char kvm_err[_POSIX2_LINE_MAX]; #define KERNOFF (kgdb_kernbase ()) -#define INKERNEL(x) ((x) >= KERNOFF) +#define PINKERNEL(x) ((x) >= KERNOFF) static CORE_ADDR kgdb_kernbase (void) @@ -284,7 +284,7 @@ kgdb_set_proc_cmd (char *arg, int from_tty) addr = (CORE_ADDR) parse_and_eval_address (arg); - if (!INKERNEL (addr)) { + if (!PINKERNEL (addr)) { thr = kgdb_thr_lookup_pid((int)addr); if (thr == NULL) error ("invalid pid"); @@ -307,7 +307,7 @@ kgdb_set_tid_cmd (char *arg, int from_tty) addr = (CORE_ADDR) parse_and_eval_address (arg); - if (kvm != NULL && INKERNEL (addr)) { + if (kvm != NULL && PINKERNEL (addr)) { thr = kgdb_thr_lookup_taddr(addr); if (thr == NULL) error("invalid thread address"); diff --git a/sys/amd64/include/param.h b/sys/amd64/include/param.h index 3d4722b1f..0e70d2a2a 100644 --- a/sys/amd64/include/param.h +++ b/sys/amd64/include/param.h @@ -143,4 +143,7 @@ #define pgtok(x) ((unsigned long)(x) * (PAGE_SIZE / 1024)) +#define INKERNEL(va) (((va) >= DMAP_MIN_ADDRESS && (va) < DMAP_MAX_ADDRESS) \ + || ((va) >= VM_MIN_KERNEL_ADDRESS && (va) < VM_MAX_KERNEL_ADDRESS)) + #endif /* !_AMD64_INCLUDE_PARAM_H_ */ diff --git a/sys/amd64/include/pmc_mdep.h b/sys/amd64/include/pmc_mdep.h index 73c93feb0..22249c1e5 100644 --- a/sys/amd64/include/pmc_mdep.h +++ b/sys/amd64/include/pmc_mdep.h @@ -113,9 +113,7 @@ union pmc_md_pmc { #define PMC_IN_KERNEL_STACK(S,START,END) \ ((S) >= (START) && (S) < (END)) -#define PMC_IN_KERNEL(va) (((va) >= DMAP_MIN_ADDRESS && \ - (va) < DMAP_MAX_ADDRESS) || ((va) >= VM_MIN_KERNEL_ADDRESS && \ - (va) < VM_MAX_KERNEL_ADDRESS)) +#define PMC_IN_KERNEL(va) INKERNEL(va) #define PMC_IN_USERSPACE(va) ((va) <= VM_MAXUSER_ADDRESS) diff --git a/sys/amd64/include/stack.h b/sys/amd64/include/stack.h index 24e2547c6..8297eaea2 100644 --- a/sys/amd64/include/stack.h +++ b/sys/amd64/include/stack.h @@ -32,8 +32,6 @@ /* * Stack trace. */ -#define INKERNEL(va) (((va) >= DMAP_MIN_ADDRESS && (va) < DMAP_MAX_ADDRESS) \ - || ((va) >= VM_MIN_KERNEL_ADDRESS && (va) < VM_MAX_KERNEL_ADDRESS)) struct amd64_frame { struct amd64_frame *f_frame; diff --git a/sys/cddl/dev/dtrace/i386/dtrace_isa.c b/sys/cddl/dev/dtrace/i386/dtrace_isa.c index 6c261bfe1..04f205c55 100644 --- a/sys/cddl/dev/dtrace/i386/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/i386/dtrace_isa.c @@ -47,9 +47,6 @@ extern uintptr_t kernbase; uintptr_t kernelbase = (uintptr_t) &kernbase; -#define INKERNEL(va) (((vm_offset_t)(va)) >= USRSTACK && \ - ((vm_offset_t)(va)) < VM_MAX_KERNEL_ADDRESS) - uint8_t dtrace_fuword8_nocheck(void *); uint16_t dtrace_fuword16_nocheck(void *); uint32_t dtrace_fuword32_nocheck(void *); diff --git a/sys/i386/include/param.h b/sys/i386/include/param.h index 54477c12a..b3fd85f45 100644 --- a/sys/i386/include/param.h +++ b/sys/i386/include/param.h @@ -157,4 +157,7 @@ #define pgtok(x) ((x) * (PAGE_SIZE / 1024)) +#define INKERNEL(va) (((vm_offset_t)(va)) >= VM_MAXUSER_ADDRESS && \ + ((vm_offset_t)(va)) < VM_MAX_KERNEL_ADDRESS) + #endif /* !_I386_INCLUDE_PARAM_H_ */ diff --git a/sys/i386/include/pmc_mdep.h b/sys/i386/include/pmc_mdep.h index 5ce791a3b..ff057cec1 100644 --- a/sys/i386/include/pmc_mdep.h +++ b/sys/i386/include/pmc_mdep.h @@ -138,8 +138,7 @@ struct pmc_mdep; #define PMC_IN_KERNEL_STACK(S,START,END) \ ((S) >= (START) && (S) < (END)) -#define PMC_IN_KERNEL(va) (((va) >= USRSTACK) && \ - ((va) < VM_MAX_KERNEL_ADDRESS)) +#define PMC_IN_KERNEL(va) INKERNEL(va) #define PMC_IN_USERSPACE(va) ((va) <= VM_MAXUSER_ADDRESS) diff --git a/sys/i386/include/stack.h b/sys/i386/include/stack.h index 78caae004..f63fc4bbd 100644 --- a/sys/i386/include/stack.h +++ b/sys/i386/include/stack.h @@ -32,8 +32,6 @@ /* * Stack trace. */ -#define INKERNEL(va) (((vm_offset_t)(va)) >= USRSTACK && \ - ((vm_offset_t)(va)) < VM_MAX_KERNEL_ADDRESS) struct i386_frame { struct i386_frame *f_frame; -- 2.45.0