if your printks are like below....
print .. pgprot_val(vma->vm_page_prot)
pgprot_val(vma->vm_page_prot) = CF_PAGE_NOCACHE | (pgprot_val(vma->vm_page_prot) & ~CF_PAGE_COPYBACK);
if(vma->vm_flags & VM_WRITE)
pgprot_val(vma->vm_page_prot) |= CF_PAGE_WRITABLE;
vma->vm_flags &= ~0x00004000; // to be checked
print pgprot_val(vma->vm_page_prot)
Then vma->prot = 0x1c19= (CF_PAGE_ACCESSED|CF_PAGE_VALID|CF_PAGE_SHARED|CF_PAGE_READABLE|CF_PAGE_WRITABLE|CF_PAGE_DIRTY)
Then vma->prot = 0x1c99= (CF_PAGE_ACCESSED| CF_PAGE_VALID | CF_PAGE_SHARED | CF_PAGE_READABLE | CF_PAGE_NOCACHE | CF_PAGE_WRITABLE | CF_PAGE_DIRTY)
As far I know the first value provided vma created by mmap...
But for 2.6.25, 0x1c10 =
(CF_PAGE_ACCESSED | CF_PAGE_VALID | CF_PAGE_SHARED | CF_PAGE_READABLE)
dirty page bit may be ok, but dont know whether WRITE permission should be on or not.
I am not sure wheather io_remap_pfn_range routine work on MMU on the rWR permissins bits/ it is already used in between user level mmap and fb_mmap calls ( i mean the vma operation)
Any freescaler / experienced freescale mmap system call probly can answer.
I am planning to chechk it by writting a simple mmap device driver and check wheter i can write it or not.I think it will also fail.(worst part is to look mm system codes)

.
jkimble can you provide me the "vma->vm_page_prot" valueafter remap_pfn_range?
Message Edited by Nabendu on
2008-11-22 04:25 AM