[Crash-utility] [PATCH v3 0/3] vmalloc translation support for PPC

Suzuki K. Poulose suzuki at in.ibm.com
Tue Feb 14 02:45:34 UTC 2012


On 02/13/2012 10:17 PM, Dave Anderson wrote:
>
> ----- Original Message -----
>> The following series implements :
>>
>>   * An infrastructure for platform based vmalloc translation for PPC32
>>   * vmalloc translation support for PPC44x
>>
>> Changes since V2:
>>
>>   * Rebased to crash-6.0.3
>>   * Maintains a list of probe functions, rather than platform
>>     definitions.
>>
>>
>> Each platform can define their own probe_function which would get the name of the
>> ppc platform (read from kernel) and the probe can check if the platform is one of its
>> variant. The probe function can then update the 'platform' defintions for the virtual
>> address translation.
>>
>> If none of the defined platforms match, falls back to using the default PPC32
>> definitions.
>>
>> ---
>>
>> Suzuki K. Poulose (3):
>>        [ppc] virtual address translation bits for PPC44x
>>        [ppc] Support for platform based Virtual address translation
>>        [ppc] Non-linear address translation routine
>
> Hi Suzuki,
>
> I'll defer the technical ACK to Toshi, but I do have a couple of other suggestions.
>
> Here's a sample vmalloc translation:
>
>    crash>  vtop d1180000
>    VIRTUAL   PHYSICAL
>    d1180000  ff800000
>
>    Using ppc440gp board definitions:
>    PAGE DIRECTORY: c056f000
>      PGD: c0570a20 =>  c784b000
>      PMD: c784b000 =>  c784bc00
>      PTE: c784bc00 =>  1ff80051b
>     PAGE: ff800000
>
>      PTE     PHYSICAL  FLAGS
>    ff80051b  ff800000  (PRESENT|USER|GUARDED|COHERENT|ACCESSED)
>
>    PAGE    PHYSICAL   MAPPING    INDEX CNT FLAGS
>    crash>
>
> This may have been a pre-existing issue, but for vmalloc addresses, the
> page struct translation at the end of the display (under PAGE PHYSICAL MAPPING...)
> is missing for vmalloc addresses.  For user-space and unity-mapped
> addresses the translation is done as intended:
>
[..]
> That should be a trivial fix.

Ok. I will take a look at this.

>
> Secondly, that "Using ppc440gp board definitions:" statement
> stuck in the midst of the "vtop" output is not the place for it,
> except perhaps if it's enclosed with a CRASHDEBUG() qualifier.
>
> That being said, it certainly is a useful piece of information,
> and should be made available somewhere.
>
> What I suggest is that you create a PPC "machine_specific" data
> structure like the other architectures have, and which the global
> machdep_table structure points to.  Then have it either contain,
> or at least point to, your new base_platform structure, and
> enhance ppc_dump_machdep_table() to dump its contents for the
> "help -m" output.
>
> Furthermore, the board's name string seems worthy of display in
> ppc_cmd_mach() for the "mach" command, don't you?
>

Agreed ! Thanks a lot for the pointers :). I will work it out.

Thanks
Suzuki




More information about the Crash-utility mailing list