Hi,
Is their a way to get a block of memory (MPB) marked as non cacheable?
Thanks in Advance
Regards
Hayder
My short answer is: Yes -- set the CD (cache disable) flag in its pagetable entry. But I only have experience in baremetal programming, so unfortunately, I can't guide you on how to do this in SCC Linux.
Using the SCC Linux it is even simpler: open the device file /dev/rckncm and use mmap with that file descriptor. the offset argument of mmap is the physical memory address you want to access. This mmap system call is handled by rckncm. It maps the selected physical memory into your logical memory and sets the CD bit to disable caching (ncm stands for non-cached memory).
Thanks for your response.
Other way, we could use mprotect mechanism which support by SMC group to set the block of memory as Cacheable or UC.
That's true. I also like the protection changing approach of SMC. However, I was totally confused by the installation procedure. Does anybody know, whether the SMC kernel extension is now part of the standard SCC Linux?
I have already installed the code and really nice tool. I use sccKit 1.4.2.2 and linux kernel 2.6.38.3.
If you want to install, you should use buildroot-2011.05 and following the instruction SMC paper. Please, don't forget to change the address of sys_call_table.

