Date: Sat, 22 Mar 2008 18:22:58 GMT From: John Birrell <jb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 138302 for review Message-ID: <200803221822.m2MIMwP3093157@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=138302 Change 138302 by jb@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; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803221822.m2MIMwP3093157>