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