Dear All,
I have an 512 MB RAM on an Intel desktop machine, of which Kernel uses 256M for all allocation for kernel as well as for user
programs. (by passing mem=256M as a boot parameter). Hence I have 256MB of memory which I can treat it as IO memory.
System memory is associated from 0x00000000 - 0x20000000 (512MB) in the physical address space.
Memory addresses from 0x00000000 - 0x10000000 (256 MB) are used by the Kernel - memory management. Subsystem
Memory addresses from 0x10000000 - 20000000 (256MB) is used as IO memory
For an experiment, I used mmap() to map a page (4K) in IO memory (page base address 0x20002000) to user virtual address
I used kernel function remap_pfn_range() in my kernel module's mmap function.
This is rightly mapping the physical page to a user virtual address. But when I write to that address and then read. I get junk
value.
To just verify, when I mapped the VGA controller memory to user virtual address things are working fine.
Can you please help me to resolve this problem.
Regards,
Prabhu