diff options
author | peter <peter@FreeBSD.org> | 2001-12-11 07:04:48 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2001-12-11 07:04:48 +0000 |
commit | a4375c2daefe97b3afaa1fdafdeee28b27e33720 (patch) | |
tree | 85646328211833ee1d57d4eae2f011ab29468844 | |
parent | f2a2bcb9ed4d56b09bae3846eac4cfc62cdd6d58 (diff) | |
download | FreeBSD-src-a4375c2daefe97b3afaa1fdafdeee28b27e33720.zip FreeBSD-src-a4375c2daefe97b3afaa1fdafdeee28b27e33720.tar.gz |
*** empty log message ***
-rw-r--r-- | gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c | 26 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gdb/kvm-fbsd.c | 26 |
2 files changed, 44 insertions, 8 deletions
diff --git a/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c b/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c index 07a1e18..b2238ad 100644 --- a/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c +++ b/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c @@ -402,6 +402,24 @@ kcore_files_info (t) printf ("\t`%s'\n", core_file); } +static CORE_ADDR +ksym_maxuseraddr() +{ + static CORE_ADDR maxuseraddr; + struct minimal_symbol *sym; + + if (maxuseraddr == 0) + { + sym = lookup_minimal_symbol ("PTmap", NULL, NULL); + if (sym == NULL) { + maxuseraddr = VM_MAXUSER_ADDRESS; + } else { + maxuseraddr = SYMBOL_VALUE_ADDRESS (sym); + } + } + return maxuseraddr; +} + static int kcore_xfer_kmem (memaddr, myaddr, len, write, target) CORE_ADDR memaddr; @@ -413,7 +431,7 @@ kcore_xfer_kmem (memaddr, myaddr, len, write, target) int ns; int nu; - if (memaddr >= (CORE_ADDR)VM_MAXUSER_ADDRESS) + if (memaddr >= ksym_maxuseraddr()) nu = 0; else { @@ -423,7 +441,7 @@ kcore_xfer_kmem (memaddr, myaddr, len, write, target) if (nu == len) return (nu); memaddr += nu; - if (memaddr != (CORE_ADDR)VM_MAXUSER_ADDRESS) + if (memaddr != ksym_maxuseraddr()) return (nu); myaddr += nu; len -= nu; @@ -584,7 +602,7 @@ kvm_open (efile, cfile, sfile, perm, errout) } physrd (cfd, ksym_lookup ("IdlePTD") - KERNOFF, (char*)&sbr, sizeof sbr); - printf ("IdlePTD %lu\n", (unsigned long)sbr); + printf ("IdlePTD at phsyical address 0x%08lx\n", (unsigned long)sbr); curpcb = kvtophys(cfd, pcpu + PCPU_OFFSET (curpcb)); physrd (cfd, curpcb, (char*)&curpcb, sizeof curpcb); @@ -594,7 +612,7 @@ kvm_open (efile, cfile, sfile, perm, errout) else paddr = kvtophys (cfd, curpcb); read_pcb (cfd, paddr); - printf ("initial pcb at %lx\n", (unsigned long)paddr); + printf ("initial pcb at physical address 0x%08lx\n", (unsigned long)paddr); return (cfd); } diff --git a/gnu/usr.bin/binutils/gdb/kvm-fbsd.c b/gnu/usr.bin/binutils/gdb/kvm-fbsd.c index 07a1e18..b2238ad 100644 --- a/gnu/usr.bin/binutils/gdb/kvm-fbsd.c +++ b/gnu/usr.bin/binutils/gdb/kvm-fbsd.c @@ -402,6 +402,24 @@ kcore_files_info (t) printf ("\t`%s'\n", core_file); } +static CORE_ADDR +ksym_maxuseraddr() +{ + static CORE_ADDR maxuseraddr; + struct minimal_symbol *sym; + + if (maxuseraddr == 0) + { + sym = lookup_minimal_symbol ("PTmap", NULL, NULL); + if (sym == NULL) { + maxuseraddr = VM_MAXUSER_ADDRESS; + } else { + maxuseraddr = SYMBOL_VALUE_ADDRESS (sym); + } + } + return maxuseraddr; +} + static int kcore_xfer_kmem (memaddr, myaddr, len, write, target) CORE_ADDR memaddr; @@ -413,7 +431,7 @@ kcore_xfer_kmem (memaddr, myaddr, len, write, target) int ns; int nu; - if (memaddr >= (CORE_ADDR)VM_MAXUSER_ADDRESS) + if (memaddr >= ksym_maxuseraddr()) nu = 0; else { @@ -423,7 +441,7 @@ kcore_xfer_kmem (memaddr, myaddr, len, write, target) if (nu == len) return (nu); memaddr += nu; - if (memaddr != (CORE_ADDR)VM_MAXUSER_ADDRESS) + if (memaddr != ksym_maxuseraddr()) return (nu); myaddr += nu; len -= nu; @@ -584,7 +602,7 @@ kvm_open (efile, cfile, sfile, perm, errout) } physrd (cfd, ksym_lookup ("IdlePTD") - KERNOFF, (char*)&sbr, sizeof sbr); - printf ("IdlePTD %lu\n", (unsigned long)sbr); + printf ("IdlePTD at phsyical address 0x%08lx\n", (unsigned long)sbr); curpcb = kvtophys(cfd, pcpu + PCPU_OFFSET (curpcb)); physrd (cfd, curpcb, (char*)&curpcb, sizeof curpcb); @@ -594,7 +612,7 @@ kvm_open (efile, cfile, sfile, perm, errout) else paddr = kvtophys (cfd, curpcb); read_pcb (cfd, paddr); - printf ("initial pcb at %lx\n", (unsigned long)paddr); + printf ("initial pcb at physical address 0x%08lx\n", (unsigned long)paddr); return (cfd); } |