>I passed a physical address 0x63ACD000. As expected it returned 0x00000000. I am running linux version 3.5.1. Mine is ARM, i donno about x86. In my case ioremap is successfule and giving an address in ioremap() range of virtual memory map as in http://www.arm.linux.org.uk/developer/memory.txt.
On Sat, Mar 2, 2013 at 4:52 PM, Prabhu nath <[email protected]> wrote: > In principle, ioremap() will return 0x00000000 if the physical address > passed is of memory. > I just want you to double check the address you have passed to ioremap(). > In my experiment on x86 Desktop machine with 2GB RAM. I passed a physical > address 0x63ACD000. As expected it returned 0x00000000. I am running linux > version 3.5.1. > > > Regards, > Prabhunath G > Linux Trainer > Bangalore > > > On Fri, Mar 1, 2013 at 5:57 PM, sandeep kumar > <[email protected]>wrote: > >> >Looks like you are trying to pass the address of physical memory to this >> function as a parameter and it is screwing up. >> Yes, i intentionally gave some physical address which is part of system >> memory. >> My problem infact is, it is not screwing up. It is allowing me to do >> that. Its not 'panic'ing >> >> >> On Fri, Mar 1, 2013 at 4:58 PM, Prabhu nath <[email protected]>wrote: >> >>> >>> >>> On Fri, Mar 1, 2013 at 4:48 PM, sandeep kumar <[email protected] >>> > wrote: >>> >>>> Hi All >>>> I am using ARM based board. >>>> In mine, >>>> i did the following... >>>> >>>> void __iomem *tcpm_base = ioremap_nocache(0x03B00000, 10*SZ_3MB); >>>> >>>> Actually i didnt reserve the 30MB memory @ 0x3B00000. But still the >>>> call is succesful and i am able to read the memory. >>>> >>>> In the logs it is just showing a warning, to fix my driver as i am >>>> calling ioremap() on system memory. >>>> >>>> However if i try to write something on that memory, then only it is >>>> calling panic().. >>>> >>>> Don't you think it should throw panic()while calling the ioremap() >>>> itself. Because this sounds like a serious violation... >>>> >>>> What say? >>>> >>> >>> To my knowledge, ioremap is used only to map the device related physical >>> address to kernel virtual address. i.e. this function will only map either >>> device registers or device memory to kernel virtual address. >>> >>> Looks like you are trying to pass the address of physical memory to this >>> function as a parameter and it is screwing up. >>> >>> Please verify. >>> >>> Regards, >>> Prabhu >>> >>> -- >>>> With regards, >>>> Sandeep Kumar Anantapalli, >>>> >>>> _______________________________________________ >>>> Kernelnewbies mailing list >>>> [email protected] >>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >>>> >>>> >>> >> >> >> -- >> With regards, >> Sandeep Kumar Anantapalli, >> > > -- With regards, Sandeep Kumar Anantapalli,
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
