[ARM_LINUX] ioremap() allowing to map system memory...

sandeep kumar coolsandyforyou at gmail.com
Sat Mar 2 12:18:34 EST 2013


>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 <gprabhunath at gmail.com> 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 <coolsandyforyou at gmail.com>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 <gprabhunath at gmail.com>wrote:
>>
>>>
>>>
>>> On Fri, Mar 1, 2013 at 4:48 PM, sandeep kumar <coolsandyforyou at gmail.com
>>> > 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
>>>> Kernelnewbies at kernelnewbies.org
>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>>>
>>>>
>>>
>>
>>
>> --
>> With regards,
>> Sandeep Kumar Anantapalli,
>>
>
>


-- 
With regards,
Sandeep Kumar Anantapalli,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130302/67f2aab9/attachment.html 


More information about the Kernelnewbies mailing list