Patch 2.3.25 fbmem.c

steve@rage.org
Mon, 1 Nov 1999 21:42:39 -0600


--u3/rZRmxL6MmkK24
Content-Type: text/plain; charset=us-ascii

Hello,

I'm not generally a kernel hacker (I don't have the time!), but today
I felt motivated when 2.3.25 didn't compile. I took a look at the patches,
and it seems like vm_offset was replaced by vm_pgoff, but vm_pgoff is
counting by pages, and vm_offset counted bytes.

Anyway, a patch is attached. Am I close?

-Steve

-- 
-----------------------------------------------------------------------------
| all i've undergone / i will keep on                 | Steve Czetty        |
| underneath it all / we feel so small                | Programmer Geek     |
| the heavens fall / but still we crawl               |                     |
| all i've undergone / i will keep on                 |                     |
|                                                     | steve@rage.org      |
|  /\/ / \/\ - "the way out is through"               |                     |
-----------------------------------------------------------------------------
# unzip;strip;touch;finger;head;mount;fsck;more;yes;fsck;eject;umount;sleep

--u3/rZRmxL6MmkK24 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="2.3.25.diff"

--- fbmem-orig.c Tue Nov 2 04:07:59 1999 +++ fbmem.c Tue Nov 2 04:04:23 1999 @@ -505,9 +505,9 @@ len = (start & ~PAGE_MASK)+fix.smem_len; start &= PAGE_MASK; len = (len+~PAGE_MASK) & PAGE_MASK; - if (vma->vm_offset >= len) { + if (vma->vm_pgoff >= len >> PAGE_SHIFT) { /* memory mapped io */ - vma->vm_offset -= len; + vma->vm_pgoff -= len >> PAGE_SHIFT; fb->fb_get_var(&var, PROC_CONSOLE(info), info); if (var.accel_flags) return -EINVAL; @@ -516,11 +516,9 @@ start &= PAGE_MASK; len = (len+~PAGE_MASK) & PAGE_MASK; } - if ((vma->vm_end - vma->vm_start + vma->vm_offset) > len) + if ((vma->vm_end - vma->vm_start + (vma->vm_pgoff << PAGE_SHIFT)) > len) return -EINVAL; - vma->vm_offset += start; - if (vma->vm_offset & ~PAGE_MASK) - return -ENXIO; + vma->vm_pgoff += start >> PAGE_SHIFT; #if defined(__mc68000__) if (CPU_IS_020_OR_030) pgprot_val(vma->vm_page_prot) |= _PAGE_NOCACHE030; @@ -549,7 +547,7 @@ #else #warning What do we have to do here?? #endif - if (io_remap_page_range(vma->vm_start, vma->vm_offset, + if (io_remap_page_range(vma->vm_start, vma->vm_pgoff << PAGE_SHIFT, vma->vm_end - vma->vm_start, vma->vm_page_prot)) return -EAGAIN; return 0;

--u3/rZRmxL6MmkK24--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/