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 routineHi 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 -- Crash-utility mailing list [email protected] https://www.redhat.com/mailman/listinfo/crash-utility
