Debug Module Address Translation Trace Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inability to deterministically translate virtual addresses to physical addresses in pre-compiled software modules, such as OS cells and library functions, hinders real-time debug message generation during debugging processes, as no program listing is available for these sections of code.

Innovation Solution

A data processing system with a debug module that includes a trace message request module and a page crossing detect module, which monitors instruction streams for page crossings and generates trace messages with physical address information to facilitate real-time debugging by providing synchronization events to external trace reconstruction tools.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtual address translation is performed for pre-compiled software modules, then real-time debug message generation is enabled, but the complexity of the address translation mechanism increases

Engineering Contradiction:
Improvereal-time debug message generationVSAvoidaddress translation mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by capturing and storing virtual address information at the point of debug message generation, then subsequently translates these virtual addresses to physical addresses using a page table walk mechanism. This allows real-time debug messaging to proceed without blocking, while address translation is performed asynchronously in the background.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of a debug module that acts as a mediator between the CPU and external debug tools. This module captures virtual address information from debug messages and facilitates the translation process without requiring changes to the core address translation hardware, thus enabling real-time debugging while maintaining system architecture integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If program listings are required for code tracing, then accurate debug information is available, but debugging cannot proceed for pre-compiled modules without source code

Engineering Contradiction:
Improvedebug information completenessVSAvoiddebugging capability for pre-compiled modules
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The system creates a copy of the necessary address translation information by performing page table walks to translate virtual addresses to physical addresses. These translated physical addresses are then provided to external debug tools, enabling accurate code tracing and debugging of pre-compiled modules without requiring the original source code or program listings to be present in the system.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8438547B2Address translation trace message generation for debug
Publication Date: 2013.05.07 NXP USA INC
  • US8438547B2 patent drawing
  • US8438547B2 patent drawing
  • US8438547B2 patent drawing

AI summary

A data processing system and method generates debug messages by permitting an external debug tool to have real-time trace functionality. A data processor executes a plurality of data processing instructions and uses a memory for information storage. Debug module generates debug messages including address translation trace messages. A memory management unit has address translation logic for implementing address translation to translate addresses between virtual and physical forms. The debug module includes message generation module that is coupled to the memory management unit for receiving notice when one or more address translation mappings are modified. The message generation module generates an address translation trace message in response to a detection of a modification of an address translation mapping occurs and provides the address translation trace message external to the debug module.