On 02/02/2012 07:46 AM, Toshikazu Nakayama wrote:
Hi Suzuki,
I've send wrong file, please switch it.
Thanks,
Toshi
(2012/02/02 10:59), Toshikazu Nakayama wrote:
> (2012/01/19 14:42), Suzuki K. Poulose wrote:
>> On ബുധന് 18 ജനുവരി 2012 08:11 വൈകു, Dave Anderson wrote:
>>>
>>>
>>> ----- Original Message -----
>>>> (2012/01/16 14:15), Suzuki K. Poulose wrote:
>>>>> This patch fixes the vmalloc address translation for BookE.This
>>>>> patch is based on the PPC44x definitions and may not work fine for
>>>>> other systems.
>>>>>
>>>>> crash> mod
>>>>> mod: cannot access vmalloc'd module memory
>>>>> crash>
>>>>>
>>>>>
>>>>> After the patch :
>>>>>
>>>>> crash> mod
>>>>> MODULE NAME SIZE OBJECT FILE
>>>>> d1018fd8 mbcache 6023 (not loaded) [CONFIG_KALLSYMS]
>>>>> d1077190 jbd 58360 (not loaded) [CONFIG_KALLSYMS]
>>>>> d107ca98 llc 4525 (not loaded) [CONFIG_KALLSYMS]
>>>>> d1130de4 ext3 203186 (not loaded) [CONFIG_KALLSYMS]
>>>>> d114bbac squashfs 26129 (not loaded) [CONFIG_KALLSYMS]
>>>>>
>>>>>
>>>>> On ppc44x, the virtual-address is split as below :
>>>>>
>>>>> Bits |0 10|11 19|20 31|
>>>>> -----------------------------------
>>>>> | PGD | PMD | PAGE_OFFSET |
>>>>> -----------------------------------
>>>>>
>>>>> The PAGE_BASE_ADDR is a 64bit value(of type phys_addr_t).
>>>>>
>>>>> Note : I am not sure how do we distinguish the different values
(PGDIR_SHIFT etc)
>>>>> for different PPC32 systems. Since there are a lot of different
platforms
>>>>> under PPC32, we need some mechanism to dynamically determine the
PGDIR, PTE
>>>>> shift values. One option is to put the information in the
VMCOREINFO.
>>>>
>>>> Hi Suzuki,
>>>>
>>>> How about using powerpc_base_platform symbol?
>>>>
>>>> *PTRRELOC(&powerpc_base_platform) = t->platform;
>>>>
>>>> $ grep -rIw platform arch/powerpc/kernel/cputable.c
>>>> /* The platform string corresponding to the real PVR */
>>>> .platform = "power3",
>>>> .platform = "power3",
>>>> .platform = "rs64",
>>>> .platform = "rs64",
>>>> .platform = "rs64",
>>>> .platform = "rs64",
>>>> .platform = "power4",
>>>> .platform = "power4",
>>>> :
>>>> :
>>>>
>>>> This kconfig based platform string data can be read
>>>> base_platform = symbol_value("powerpc_base_platform symbols");
>>>> read_string(base_platform, buf, buffer-size);
>>>> at ppc_init(POST_GDB).
>>>>
>>>> I think platform can be distinguished with following naming rules.
>>>> - CONFIG_40x=y: platform is "ppc403"
>>>> - CONFIG_44x=y: platform is "ppc440"
>>>>
>>>> Thanks,
>>>> Toshi
>>>
>>> That makes good sense. Suzuki, are you re-working the patch
>>> with Toshi's suggestion?
>>>
>> I will take a look at this. Sorry, have been a bit busy.
>
> Hi Suzuki,
>
> I'd put forward a proposal which can make your BookE support easy to adjust.
> If this patch set is suitable for your Note's solution,
> please merge into your works, and I'm not sure about BookE's word like
PPC44X,
> also please make reform of its staff.
Thanks for the patches and sorry, I was a bit late to get this done. I have posted
a version today. Could you please review it and let me know your thoughts ?
Thanks
Suzuki