PERFORCE change 138302 for review
John Birrell
jb at FreeBSD.org
Sat Mar 22 18:22:59 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=138302
Change 138302 by jb at jb_freebsd1 on 2008/03/22 18:22:34
i386 -> amd64 changes.
Affected files ...
.. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#3 edit
Differences ...
==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#3 (text+ko) ====
@@ -41,9 +41,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)
-
struct frame {
greg_t fr_savfp; /* saved frame pointer */
greg_t fr_savpc; /* saved program counter */
@@ -59,7 +56,7 @@
uint32_t *intrpc)
{
int depth = 0;
- register_t ebp;
+ register_t rbp;
struct amd64_frame *frame;
vm_offset_t callpc;
pc_t caller = (pc_t) solaris_cpu[curcpu].cpu_dtrace_caller;
@@ -69,11 +66,11 @@
aframes++;
- __asm __volatile("movl %%ebp,%0" : "=r" (ebp));
+ __asm __volatile("movq %%rbp,%0" : "=r" (rbp));
- frame = (struct amd64_frame *)ebp;
+ frame = (struct amd64_frame *)rbp;
while (depth < pcstack_limit) {
- if (!INKERNEL(frame))
+ if (!INKERNEL((long) frame))
break;
callpc = frame->f_retaddr;
@@ -93,7 +90,7 @@
if (frame->f_frame <= frame ||
(vm_offset_t)frame->f_frame >=
- (vm_offset_t)ebp + KSTACK_PAGES * PAGE_SIZE)
+ (vm_offset_t)rbp + KSTACK_PAGES * PAGE_SIZE)
break;
frame = frame->f_frame;
}
More information about the p4-projects
mailing list