PERFORCE change 28162 for review

Peter Wemm peter at FreeBSD.org
Fri Apr 4 20:26:47 PST 2003


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

Change 28162 by peter at peter_overcee on 2003/04/04 20:26:38

	ugh. nasty!

Affected files ...

.. //depot/projects/hammer/sys/x86_64/x86_64/mem.c#7 edit

Differences ...

==== //depot/projects/hammer/sys/x86_64/x86_64/mem.c#7 (text+ko) ====

@@ -98,7 +98,7 @@
 {
 	switch (minor(dev)) {
 	case 14:
-		td->td_frame->tf_eflags &= ~PSL_IOPL;
+		td->td_frame->tf_rflags &= ~PSL_IOPL;
 	}
 	return (0);
 }
@@ -124,7 +124,7 @@
 		error = securelevel_gt(td->td_ucred, 0);
 		if (error != 0)
 			return (error);
-		td->td_frame->tf_eflags |= PSL_IOPL;
+		td->td_frame->tf_rflags |= PSL_IOPL;
 		break;
 	}
 	return (0);
@@ -135,7 +135,7 @@
 mmrw(dev_t dev, struct uio *uio, int flags)
 {
 	int o;
-	u_int c = 0, v;
+	u_long c = 0, v;
 	struct iovec *iov;
 	int error = 0;
 	vm_offset_t addr, eaddr;
@@ -159,7 +159,7 @@
 			v &= ~PAGE_MASK;
 			pmap_kenter((vm_offset_t)ptvmmap, v);
 			o = (int)uio->uio_offset & PAGE_MASK;
-			c = (u_int)(PAGE_SIZE - ((int)iov->iov_base & PAGE_MASK));
+			c = (u_long)(PAGE_SIZE - ((long)iov->iov_base & PAGE_MASK));
 			c = min(c, (u_int)(PAGE_SIZE - o));
 			c = min(c, (u_int)iov->iov_len);
 			error = uiomove((caddr_t)&ptvmmap[o], (int)c, uio);
@@ -177,17 +177,17 @@
 			addr = trunc_page(uio->uio_offset);
 			eaddr = round_page(uio->uio_offset + c);
 
-			if (addr < (vm_offset_t)VADDR(PTDPTDI, 0))
+			if (addr < (vm_offset_t)VADDR(0, 0, PTDPTDI, 0))
 				return (EFAULT);
 			for (; addr < eaddr; addr += PAGE_SIZE) 
 				if (pmap_extract(kernel_pmap, addr) == 0)
 					return (EFAULT);
 
-			if (!kernacc((caddr_t)(int)uio->uio_offset, c,
+			if (!kernacc((caddr_t)(long)uio->uio_offset, c,
 			    uio->uio_rw == UIO_READ ? 
 			    VM_PROT_READ : VM_PROT_WRITE))
 				return (EFAULT);
-			error = uiomove((caddr_t)(int)uio->uio_offset, (int)c, uio);
+			error = uiomove((caddr_t)(long)uio->uio_offset, (int)c, uio);
 			continue;
 
 		default:


More information about the p4-projects mailing list