mmap nocache on PPC, 2.4
Stephen Williams
steve at icarus.com
Tue Aug 23 00:35:24 EST 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
In an embedded system, I want a big chunk of virtual memory in the
user process to be uncached. I've created a virtual device driver that
has this mmap method:
static int heap_mmap(struct file*filp, struct vm_area_struct*vma)
{
/* Mark this whole region uncached. The setup of this
additional flag, and the VM_RESERVED, are the whole point
of this module. This hopefully will cause all pages mapped
into this vma to be uncached. */
~ pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE;
~ vma->vm_flags |= VM_RESERVED;
~ vma->vm_ops = &heap_vm_ops;
~ heap_vm_open(vma);
~ return 0;
}
I then allocate in the nopage from get_free_page as usual. My
question is, "Is this doing what I think it is doing?"
- --
Steve Williams "The woods are lovely, dark and deep.
steve at icarus.com But I have promises to keep,
http://www.icarus.com and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFDCeKrrPt1Sc2b3ikRAlsVAKDD6+O4ihBYkHreyqkNcQuuvKIK8wCg4b6v
jRBU8FJrOyczJJdPkicf22s=
=zMkX
-----END PGP SIGNATURE-----
More information about the Linuxppc-embedded
mailing list