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