Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

Page Table Visibility DSS API's

From Texas Instruments Wiki
Jump to: navigation, search

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

Ptv1.png

  • To list the command documentation type “help <command>” and press enter

Ptv2.png

  • To execute a command type “<command>” enter

Ptv3.png

Reference

ptvSummary()

Get a summary of the mmu config and base table set up
@return summary 

ptvCurrentMode()

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