RE: Exception while handling MEM Hole on OMAP3 / ARM Cortex A8

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

 



> 
> On Sat, Aug 15, 2009 at 06:33:20PM +0530, Sudeep K N wrote:
> > I had intially tried memmap=xxM$yyM to reserve xxM at yyM
> > This has some issue with 2.6.27 and fixed in later versions(not sure
> > of exact version) and I have not tried it.
> 
> memmap= is not supported on ARM - there is no code to parse or use the
> option except on x86 and blackfin, so it gets passed to the init program
> when userspace starts.

I am just wondering if there is something extra that needs to be done in my kernel or app, below are the lines that I feel will matter,

In driver module:
- request_mem_region(start_addr, length, "name");
- ioremap_nocache (start_addr,length);
(in mmap function)
- vma->vm_flags |= VM_RESERVED | VM_IO;
- remap_pfn_range(vma,vma->vm_start,vma->vm_pgoff,vma->vm_end-vma->vm_start, vma->vm_page_prot);

In my app:
- userp = mmap((void *)0x0, size, PROT_WRITE|PROT_READ,MAP_SHARED,fd,0x85800000);
- memset((void *)userp,0,0x1000000);

Few Observations:
- When my bootargs doesn't is just mem=88M@0x80000000, I don't see any issues it works great
- When my bootargs is mem=88M@0x80000000 mem=60M@0x8C400000 it crashes at user space. Where as when I do same memset in driver (kernel space) it passes, the issue is only with user space (over mmap)
- With hole, when I use mmap with MAP_PRIVATE it passes fine.

I can give both driver and app that I have, but it has nothing but the above lines.

Thanks for the comments.

Regards,
Khasim

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux