Hi, I have a driver in which I mmap a portion of RAM which is not visible to the kernel . say if my total memory size is 32 MB I pass mem=30 MB in boot arguments. So only 30 MB is visible to the kernel.
Then, I mmap from 30 to 32 MB in userspace using mmap system call.
mapmem = (unsigned char*)mmap((void *)0x0,(2*1024*1024), PROT_READ | PROT_WRITE,MAP_SHARED,mem_fd, (30 *1024 *1024));
I m able to access this memory using mapmem.
I want to know whether this memory will come under cacheable memory or not?
If it is cacheable , while accessing in user space I want to invalidate the cache. Is it possible?
In general, how to figure out whether a particular memory address is cacheable or not?
Thanks!!