PERFORCE change 30928 for review

Marcel Moolenaar marcel at FreeBSD.org
Sat May 10 17:25:53 PDT 2003


http://perforce.freebsd.org/chv.cgi?CH=30928

Change 30928 by marcel at marcel_nfs on 2003/05/10 17:24:54

	Use bcopy and copyin/copyout to read and write bytes. This
	avoids a page fault caused by the debugger trying to read
	or write from/to a bogus address. Keep the jmp_buf for now.

Affected files ...

.. //depot/projects/ia64_epc/sys/ia64/ia64/db_interface.c#9 edit

Differences ...

==== //depot/projects/ia64_epc/sys/ia64/ia64/db_interface.c#9 (text+ko) ====

@@ -403,13 +403,13 @@
 	register size_t	size;
 	register char	*data;
 {
-	register char	*src;
 
 	db_nofault = &db_jmpbuf;
 
-	src = (char *)addr;
-	while (size-- > 0)
-		*data++ = *src++;
+	if (addr < VM_MAX_ADDRESS)
+		copyin((char *)addr, data, size);
+	else
+		bcopy((char *)addr, data, size);
 
 	db_nofault = 0;
 }
@@ -423,13 +423,13 @@
 	register size_t	size;
 	register char	*data;
 {
-	register char	*dst;
 
 	db_nofault = &db_jmpbuf;
 
-	dst = (char *)addr;
-	while (size-- > 0)
-		*dst++ = *data++;
+	if (addr < VM_MAX_ADDRESS)
+		copyout(data, (char *)addr, size);
+	else
+		bcopy(data, (char *)addr, size);
 
 	db_nofault = 0;
 }


More information about the p4-projects mailing list