Debug Module Address Translation Trace Generation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
Data Source
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.


