Do you have a question? Post it now! No Registration Necessary
Subject
- Posted on
- _teo_icKs_
March 24, 2006, 1:50 pm

Hello,
I have a problem about implementation of mmap for remapping a specific
I/O Region.
- mmap kernel routine:
if (vma->vm_pgoff > (~0UL >> PAGE_SHIFT))
return -EINVAL;
off = vma->vm_pgoff << PAGE_SHIFT;
start = TPU_START;
len = PAGE_ALIGN((start & ~PAGE_MASK)+TPU_SIZE);
if ((vma->vm_end - vma->vm_start + off) > len)
return -EINVAL;
off += start;
vma->vm_pgoff = off >> PAGE_SHIFT;
/* This is an IO map - tell maydump to skip this VMA */
vma->vm_flags |= VM_IO;
/* for PPC arch */
pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE|_PAGE_GUARDED;
if (io_remap_page_range(vma->vm_start, off, vma->vm_end -
vma->vm_start, vma->vm_page_prot))
return -EAGAIN;
return 0;
In user space I read always 0xFFFFFFFF in these registers after remapping.
I think that I made a mistake in this routine but I don't find it.
My scope is to remap some registers in userspace on a PPC embedded
architecture.
I don't have experience about this.
Please, could you help me?
teo_icKs.
Site Timeline
- » ISDN HISAX hfc_pci big endian support
- — Next thread in » Embedded Linux
-
- » Designing a TCP/IP server for ARM
- — Previous thread in » Embedded Linux
-
- » Crosscompiling for ARM: reloc type R_ARM_ABS32 is not supported for PIC - ...
- — Newest thread in » Embedded Linux
-
- » White House In Danger Of Imminent Collapse, First Family Evicted
- — The site's Newest Thread. Posted in » Electronics Design
-
- » Using Bats To Burn Down the House
- — The site's Last Updated Thread. Posted in » Electronics Design
-