About mpc85xx flash memory allocation

Mitsutaka Amano mitsutaka.amano at gmail.com
Wed Jan 26 21:51:05 EST 2011


On Tue, Jan 25, 2011 at 11:17 AM, Mitsutaka Amano
<mitsutaka.amano at gmail.com> wrote:
> On Tue, Jan 25, 2011 at 11:05 AM, tiejun.chen <tiejun.chen at windriver.com> wrote:
>> Mitsutaka Amano wrote:
>>> On Mon, Jan 24, 2011 at 3:48 PM, tiejun.chen <tiejun.chen at windriver.com> wrote:
>>>> Mitsutaka Amano wrote:
>>>>> Hi all,
>>>>>
>>>>> I'm testing the ppc platform is based on mpc85xx. 256MB Flash memory
>>>>> has been installed. Then I found this entries.
>>>>>
>>>>> /proc/vmallocinfo
>>>>> ~~~
>>>>> 0xc9100000-0xd9101000 268439552 of_flash_probe+0x290/0x814 ioremap
>>>>>
>>>>> physmap_of allocated 268MB over to the vmalloc. vmalloc space is tight.
>>>>>
>>>>> Why does we need mpc platforms to flash memory allocation? I know
>>>> This should not be dedicated to so-called mpc platform. And we always use
>>>> ioremap() to map the device space. And on PPC ioremap also use the same space as
>>>> vmalloc(). While bootstrap you also can see this associated message like the
>>>> follows,
>>>> ------
>>>> ......
>>>>  * 0xd1000000..0xffbe9000  : vmalloc & ioremap
>>> Yeah. My platform says the follow message.
>>>
>>>   * 0xc9000000..0xdf000000  : vmalloc & ioremap
>>
>> Any reason why you don't access > 0xdf000000?
>
> Higher than 0xdf000000 has to map TLB for using other peripherals.
> it's 400MB over.
>
>>
>>>
>>> The default vmalloc & ioremap space was about 200MB. so I increased
>>> that by decreasing lowmem.
>>> But If possible, I hope to keep default maps. So I don't want to use
>>> vmalloc & ioremap
>>>
>>>>> other architectures don't allocate to the vmalloc.
>>>>> The design of the hardware? or Is there the way to use the flash
>>>> You can open /dev/mem then mmap() with a appropriate offset to access the device
>>>> space including flash.
>>> I use the device tree(dts) and define flash partitions. Also I use CFI
>>> driver and CFI_PHYSMAP_OF for device tree.
>>> Is there the reference driver in what uses mmap() kernel tree? I think
>>> I have to write a driver what can support dts and mmap() with a
>>> appropriate offset to access the device.
>>
>> You should not write anything again. And you can access any physical address
>> directly via /dev/mem from the user space like the following:
>>
>> fd = open(/dev/mem,);
>> mmap(fd + offset);
>
> Thanks for letting me know. I want to use in combination with device
> tree. So I'll write a driver based on physmap_of.c(such as mmap_of.c)
I confused and misunderstand that. it has to use as a rootfs. so It
can't use a userland program.
Of cource, it can be force mapping to the userspace. but system will
be unstable. I think.

Mitsutaka

>
> Thanks,
> Mitsutaka
>
>>
>> Tiejun
>>
>>>
>>> Thanks,
>>> Mitsutaka
>>>
>>>> Tiejun
>>>>
>>>>> memory without vmalloc?
>>>>>
>>>>> Thanks,
>>>>> Mitsutaka
>>
>>
>


More information about the Linuxppc-dev mailing list