G06F11/3656

Processor with debug pipeline

A processor includes an execution pipeline that includes a plurality of execution stages, execution pipeline control logic, and a debug system. The execution pipeline control logic is configured to control flow of an instruction through the execution stages. The debug system includes a debug pipeline and debug pipeline control logic. The debug pipeline includes a plurality of debug stages. Each debug pipeline stage corresponds to an execution pipeline stage, and the total number of debug stages corresponds to the total number of execution stages. The debug pipeline control logic is coupled to the execution pipeline control logic. The debug pipeline control logic is configured to control flow through the debug stages of debug information associated with the instruction, and to advance the debug information into a next of the debug stages in correspondence with the execution pipeline control logic advancing the instruction into a corresponding stage of the execution pipeline.

Networked multi-interface host debugger
10049029 · 2018-08-14 · ·

A debugger is provided that is capable of connecting internally or externally to a host device using one or more of multiple host interfaces. The debugger can also connect, over a network, to a remote communication device executing a debugging application. Through the debugger, the debugging application receives messages from the host device regarding the status of a firmware on the host device, and sends debugging commands to the host device for performing operations such as updating the firmware on the host device.

DEBUGGING METHOD, MULTI-CORE PROCESSOR, AND DEBUGGING DEVICE

Embodiments of the present invention relate to the field of computer technologies. The embodiments of the present invention provide a debugging method, including: stopping running, by a core A of the multi-core processor, and sending a running stop signal to other cores in a process of stopping running; after receiving a first stop termination instruction and resuming running, executing a debugging information collection function and stopping running after completing the execution of the debugging information collection function; after receiving a second stop termination instruction and resuming running, sending a running resumption instruction to the other cores; and knocking the pending breakpoint in a process of running an operation object of the preset event, so as to enter a debugging state. According to the technical solutions provided in the embodiments of the present invention, kernel mode code and user mode code can be debugged on a same debugging platform.

Multi-nullification

Apparatus and methods are disclosed for nullifying memory store instructions and one or more registers identified in a target field of a nullification instruction. In some examples of the disclosed technology, an apparatus can include memory and one or more block-based processor cores configured to fetch and execute a plurality of instruction blocks. One of the cores can include a control unit configured, based at least in part on receiving a nullification instruction, to obtain an instruction identification for a memory access instruction of a plurality of memory access instructions and a register identification of at least one of a plurality of registers, based on a first and second target fields of the nullification instruction. The at least one register and the memory access instruction associated with the instruction identification are nullified. Based on the nullified memory access instruction, a subsequent memory access instruction is executed.

Remote software debugging method for embedded terminals

A remote software debugging method for embedded terminals makes it possible to reduce additional hardware dependencies and storage space occupation based on a CoreSight debugging framework and a dynamic command system. Series communication is used as a lead study to reduce the pre-exploration difficulty of complex communication modules and facilitate subsequent extraction of the commonalities of the communication modules. An FPB (flash patch and breakpoint) unit in CoreSight debugging framework provides a basis for setting and responding to breakpoints, debugging information for the breakpoints can be extracted and output by debug monitoring exceptions, and dynamic commands are used as carriers of overall functions to fulfill rich debugging functions such as starting and exiting of a debugging mode, setting and cancelling of breakpoints and control over program running state. Finally, common elements of communication modules are extracted, and a general method for adaptive software debugging of communication modules is provided.

Securely modifying access to a debug port
12130726 · 2024-10-29 · ·

In some aspects, the techniques described herein relate to a device including: a debug port; a trusted execution environment (TEE), the TEE storing a public key; and a controller, the controller configured to: receive a command to access the debug port, the command including a signature generated using a private key corresponding to the public key; provide the command to the TEE, wherein the TEE validates the command by validating the signature using the public key to obtain a validation result; and modify access to the debug port based on the validation result.

Pipeline processor execution stages, secure emulation logic, gating debug/profile output
10025955 · 2018-07-17 · ·

The present disclosure describes systems and methods for controlling access to secure debugging and profiling features of a computer system. Some illustrative embodiments include a system that includes a processor, and a memory coupled to the processor (the memory used to store information and an attribute associated with the stored information). At least one bit of the attribute determines a security level, selected from a plurality of security levels, of the stored information associated with the attribute. Asserting at least one other bit of the attribute enables exportation of the stored information from the computer system if the security level of the stored information is higher than at least one other security level of the plurality of security levels.

Tap commandable data register control router inverted TCK, TMS/TDI imputs
10024913 · 2018-07-17 · ·

The disclosure describes a novel method and apparatus for improving the operation of a TAP architecture in a device through the use of Command signal inputs to the TAP architecture. In response to a Command signal input, the TAP architecture can perform streamlined and uninterrupted Update, Capture and Shift operation cycles to a target circuit in the device or streamlined and uninterrupted capture and shift operation cycles to a target circuit in the device. The Command signals can be input to the TAP architecture via the devices dedicated TMS or TDI inputs or via a separate CMD input to the device.

Pseudo hardware watch points for remote debugging of non-initialized processors

A hardware access layer (HAL) is combined with a configurable shadow mechanism, that copies the specified memory or register segments accessed in remote hardware by a program being debugged. The HAL may be involved in all interrupt handling for the remote hardware. By making this shadow mechanism configurable during runtime, and using a standard debugging techniques, a developer can specify watchpoints to break program execution based on changes in the remotely attached hardware as indicated in the specified shadow register segments.

PERFORMING DIAGNOSTIC OPERATIONS UPON A TARGET APPARATUS
20180181478 · 2018-06-28 ·

Diagnostic operations upon a target apparatus 2 having a target transaction master 8 which initiates memory transactions with one or more target transaction slaves 12, 14, 16 are provided by halting operation of the target transaction master 8 while permitting continued operation within the target apparatus 2 of at least some of the target transaction slaves 12, 14, 16. Opening state data representing an operating state of the target transaction master 8 is transferred to a model transaction master 32. Further operation of the target transaction master 8 is emulated using the model transaction master 32 using the opening state data. Diagnostic operations are performed upon the model transaction master 32. When the model transaction master 32 emulates initiation of a memory transaction with a memory address mapped to one of the target transaction slaves 12, 14, 16, this initiates the memory transaction to be performed with the target apparatus 2. Pages of stored values from the memory address space of the target apparatus 2 may be cached within the emulation.