VIRTUTECH CONFIDENTIAL Previous - Up - Next
logical-memory-translator
- Provided by
-
logical-memory-translator
- Class Hierarchy
-
conf-object → log-object → logical-memory-translator
- Interfaces Implemented
-
log_object
- Description
-
Keeps track of all translations inserted in the MMUs of the cpus listed in cpu_list, unless they are specifically marked invalid and flushed. The translations gathered allow access to virtual memory areas that are not currently present in the TLBs. The only architecture supported by this class is SPARCv9.
Attributes
- Attributes inherited from class conf-object
-
attributes, classname, component, iface, name, object_id, queue
- Attributes inherited from class log-object
-
access_count, log_buffer, log_buffer_last, log_buffer_size, log_group_mask, log_groups, log_level, log_type_mask
- Attribute List
-
- cpu_list
- Required attribute; read/write access; type: [o*].
List of cpus for which TLB events are recorded in the LMT.
- data_translations
- Optional attribute; read/write access; type: [[[o,i][[iii]*]]*].
Data translations present in the LMT. The format of the returned value is [[[mmu_object, context number], [[page_logical_address, log2_of_page_size, page_physical_address], [-another page-], ...]], -other (mmu, context) information-, ...].
- instruction_translations
- Optional attribute; read/write access; type: [[[o,i],[[iii]*]]*].
Instruction translations present in the LMT. The format of the returned value is [[[mmu_object, context number], [[page_logical_address, log2_of_page_size, page_physical_address], [-another page-], ...]], -other (mmu, context) information-, ...].
Command List
- Commands defined by interface log_object
-
log, log-group, log-level, log-size, log-type
- Commands
-
disassemble | disassemble instructions using the LMT translations |
get | get memory value using the LMT translations |
logical-to-physical | translate virtual address using the LMT translations |
set | set a value in memory using the LMT translations |
x | examine raw memory contents using the LMT translations |
Command Descriptions
-
<logical-memory-translator>.disassemble
- Alias
-
<logical-memory-translator>.da
- Synopsis
-
<logical-memory-translator>.disassemble cpu-name address [context] [count]
- Description
-
Use the LMT translations to disassemble count instructions starting from the virtual address address, for the cpu cpu-name and the context context. Note that this command can not disassemble across page boundaries.
-
<logical-memory-translator>.get
- Synopsis
-
<logical-memory-translator>.get cpu-name address [size] [context] ["type"] [-l] [-b]
- Description
-
Use the LMT translations to get the value present at the virtual address address with a size of size, for the cpu cpu-name and the context context, looking from translations in the type TLB (either data or instruction). The -l flag sets little-endian semantics, while the -b flag sets big-endian semantics. If none is given, the endianness of cpu-name is used. Note that this command can not get values across page boundaries.
-
<logical-memory-translator>.logical-to-physical
- Alias
-
<logical-memory-translator>.l2p
- Synopsis
-
<logical-memory-translator>.logical-to-physical cpu-name address [context] ["type"]
- Description
-
Use the LMT translations to translate the virtual address address, for the cpu cpu-name and the context context, looking from translations in the type TLB (either data or instruction).
-
<logical-memory-translator>.set
- Synopsis
-
<logical-memory-translator>.set cpu-name address value [size] [context] ["type"] [-l] [-b]
- Description
-
Use the LMT translations to set the value value with a size of size at the virtual address address, for the cpu cpu-name and the context context, looking from translations in the type TLB (either data or instruction). The -l flag sets little-endian semantics, while the -b flag sets big-endian semantics. If none is given, the endianness of cpu-name is used. Note that this command can not set values across page boundaries.
-
<logical-memory-translator>.x
- Synopsis
-
<logical-memory-translator>.x cpu-name address [context] ["type"] [size]
- Description
-
Use the LMT translation to print out the contents of the memory area defined by the start virtual address address and the size size for the cpu cpu-name in the context context, looking from translations in the type TLB (either data or instruction). Note that this command does not handle areas that cross page boundaries.
VIRTUTECH CONFIDENTIAL Previous - Up - Next