Package ghidra.trace.database.guest
Interface InternalTracePlatform
- All Superinterfaces:
ProgramArchitecture,TracePlatform
- All Known Implementing Classes:
DBTraceGuestPlatform,DBTracePlatformManager.DBTraceHostPlatform
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondefault TraceLabelSymboladdRegisterMapOverride(Register register, String objectName) Add a label the conventionally maps the value of aTraceRegisterin the object manager to a register from this platformdefault AddressFactoryGet the address factory of the guest platformdefault Collection<String> getConventionalRegisterObjectNames(Register register) Get the names or indices of the register object for the given platform registerdefault PathFiltergetConventionalRegisterPath(AddressSpace space, Register register) Get the expected path where an object defining the register value would bedefault PathFiltergetConventionalRegisterPath(TraceObjectSchema schema, KeyPath path, Register register) Get the expected path where an object defining the register value would bedefault PathFiltergetConventionalRegisterPath(TraceObjectSchema schema, KeyPath path, Collection<String> names) Get the expected path where an object defining the register value would bedefault PathFiltergetConventionalRegisterPath(TraceObject container, Register register) Get the expected path where an object defining the register value would bedefault AddressRangegetConventionalRegisterRange(AddressSpace space, Register register) Translate the given platform register to the given host overlay spaceintGet the entry's key in the table as an integerdefault AddressRangelistRegNames(Register register) static StringMethods inherited from interface ghidra.program.model.lang.ProgramArchitecture
getCompilerSpec, getLanguage, getLanguageCompilerSpecPairMethods inherited from interface ghidra.trace.model.guest.TracePlatform
getCompilerSpec, getDataTypeManager, getGuestAddressSet, getHostAddressSet, getLanguage, getMappedMemBuffer, getTrace, isGuest, isHost, mapGuestInstructionAddressesToHost, mapGuestToHost, mapGuestToHost, mapGuestToHost, mapHostToGuest, mapHostToGuest, mapHostToGuest
-
Field Details
-
REG_MAP_BE
- See Also:
-
REG_MAP_LE
- See Also:
-
-
Method Details
-
regMap
-
getIntKey
int getIntKey()Get the entry's key in the table as an integer- Returns:
- the key
-
getLanguageEntry
DBTraceGuestPlatform.DBTraceGuestLanguage getLanguageEntry() -
getAddressFactory
Description copied from interface:TracePlatformGet the address factory of the guest platform- Specified by:
getAddressFactoryin interfaceProgramArchitecture- Specified by:
getAddressFactoryin interfaceTracePlatform- Returns:
- the factory
-
getConventionalRegisterRange
Description copied from interface:TracePlatformTranslate the given platform register to the given host overlay space- Specified by:
getConventionalRegisterRangein interfaceTracePlatform- Parameters:
space- the overlay space, usually that allocated for a thread or frameregister- the platform register- Returns:
- the host range
-
listRegNames
-
getConventionalRegisterObjectNames
Description copied from interface:TracePlatformGet the names or indices of the register object for the given platform registerThis will check for a label in the host physical space, allowing a mapper to specify an alternative register object name. See
TracePlatform.addRegisterMapOverride(Register, String). If one exists, then only that name is returned. Otherwise, the given register's names and aliases are all returned as defined and in all-upper and all-lower case.- Specified by:
getConventionalRegisterObjectNamesin interfaceTracePlatform- Parameters:
register- the platform register- Returns:
- the mapped name
-
getConventionalRegisterPath
default PathFilter getConventionalRegisterPath(TraceObjectSchema schema, KeyPath path, Collection<String> names) Description copied from interface:TracePlatformGet the expected path where an object defining the register value would be- Specified by:
getConventionalRegisterPathin interfaceTracePlatform- Parameters:
schema- the schema of the register containerpath- the path to the register containernames- the possible names of the register on the target- Returns:
- the path matcher, possibly empty
-
getConventionalRegisterPath
default PathFilter getConventionalRegisterPath(TraceObjectSchema schema, KeyPath path, Register register) Description copied from interface:TracePlatformGet the expected path where an object defining the register value would beThis will check for a label in the host physical space, allowing a mapper to specify an alternative register object name. See
TracePlatform.addRegisterMapOverride(Register, String).- Specified by:
getConventionalRegisterPathin interfaceTracePlatform- Parameters:
schema- the schema of the register containerpath- the path to the register containerregister- the platform register- Returns:
- the path matcher, possibly empty
-
getConventionalRegisterPath
Description copied from interface:TracePlatformGet the expected path where an object defining the register value would be- Specified by:
getConventionalRegisterPathin interfaceTracePlatform- Parameters:
container- the register containerregister- the platform register- Returns:
- that path matcher, possibly empty, or null if the trace has no root schema
- See Also:
-
getConventionalRegisterPath
Description copied from interface:TracePlatformGet the expected path where an object defining the register value would be- Specified by:
getConventionalRegisterPathin interfaceTracePlatform- Parameters:
space- the overlay space allocated for a thread or frameregister- the platform register- Returns:
- the path matcher, or null if there is no root schema
- See Also:
-
addRegisterMapOverride
Description copied from interface:TracePlatformAdd a label the conventionally maps the value of aTraceRegisterin the object manager to a register from this platform- Specified by:
addRegisterMapOverridein interfaceTracePlatform- Parameters:
register- the language registerobjectName- the name of theTraceRegisterin the object tree- Returns:
- the label
-
getRegistersRange
-