hugetlbfs on ARM / how to mmap() 36-bit PCI memory?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I just went through an experiment trying to mmap a PCI resource via
the /sys/bus/pci/devices/<device name>/resource[n] on a XSC3 platform.
 I discovered, correct me if I am wrong, that remap_pfn_range only
acts on 2nd level (4K) pte's.  On this platform PCI memory is only
available at a 36-bit physical address.

In looking for an answer I found this post from Deepak in the thread:
"clean way to support >32bit addr on 32bit CPU "
http://marc.theaimsgroup.com/?t=110540164100006&r=1&w=2

<snip>
Not doable. I believe PAE allows for normal 4K pages to be used when
mapping > 32-bits. XSC3 and ARMv6 only allow for > 32 bit addresses
when using 16MB pages (supersections), so we need to instead use
the hugetlb approach.

~Deepak
</snip>

Questions
1) Currently ARM does not appear to have support for hugetlbfs, is
this in the works / any pointers to help get me started with the code?
2) Does the hugetlbfs interface support PCI memory or is it only meant for RAM?
3) Is there a better approach than hugetlb to mmap PCI space in this scenario?

Thanks,

Dan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux