Page Table Visibility DSS API's
The DSS page table visibility API’s support debugging MMU page table configuration and set up. The API’s include support for both short format page table entries and new long format (LPAE ) entries.
These API’s are available via DSS as part of the com.ti.debug.engine.scripting.PageTable class.
Note: There is a bug in CCS 5.4 and previous releases which will only reads the lower 32 bits of the TTBR registers. This will cause issues in scenarios where page tables are mapped to larger than 32 bit address space. To work around this please replace the following file at <ccs root dir>/ccsv5/DebugServer/CacheInfo/include/TMS470R15XX_RegisterBase.xml with File:Patch.zip
Accessing the API’s via the Scripting Console in CCS
All of the page table visibility API’s are available as Scripting Console commands in CCS. All page table visibility related commands begin with the prefix "ptv"
- To list all available commands type “ptv” and press the tab key
- To list the command documentation type “help <command>” and press enter
- To execute a command type “<command>” enter
Get a summary of the mmu config and base table set up
Get the current mode ( 32-bit, LPAE ) @return mode
ptvLookupAddress( address )
Lookup a physical address based on a virtual address. Provides a trace of the entire page table walk and attributes associated with the mapping from different levels of the look up
@param address - virtual address to look up @return the physical address associated with mapping and trace of the page table walk
ptvLookupPageTableEntries( TTBRNum, parentLevelIndices , beginIndex, endIndex )
Lists the entries in a page table within a given range.
@param TTBRNum - Number of the TTBR register number which is this tables root. @param int  parentLevelIndices - This is a list of indices described how to access the page table starting from the root page table. I.E : If you want to display entries from a L2 Page Table, you must provide the index into the L1 page table that is the parent of the L2 Page Table. @param beginIndex - Index into the page table from where to start listing entries @param endIndex - Index into the page table where to stop listing entries @return The requested entries in a human readable form
ptvReverseLookup( address )
Look up the first virtual address mapped to the physical address
@param physicalAddress - the physical address for which to look up the virtual address @return The first virtaul address that is mapped to the provided address
ptvReverseLookupAll( address )
Look up all the virtual addresses based mapped to the physical address
@param physicalAddress - physical address for which to look up the virtual address mappings @return All virtual address mapped to the given physical address