IP Library Granted Patent US 10,296,432
Granted Patent B2
US 10,296,432 · App. 15/586,019 · Granted May 21, 2019

Systems and methods for invasive debug of a processor without processor execution of instructions

Inventors: Karthikeyan Avudaiyappan (Sunnyvale, CA); Brian McGee (San Jose, CA)
Assignee: INTEL CORPORATION
G06F11/26G06F11/2236G06F11/3656G06F11/3648
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,296,432
App. No.
15/586,019
Granted
May 21, 2019
Kind
B2
Abstract

Methods for invasive debug of a processor without processor execution of instructions are disclosed. As a part of a method, a memory mapped I/O of the processor is accessed using a debug bus and an operation is initiated that causes a debug port to gain access to registers of the processor using the memory mapped I/O. The invasive debug of the processor is executed from the debug port via registers of the processor.

Claims (30)

1. A method for invasive debug of a processor without processor execution of invasive debug operations, the method comprising:

receiving an access request from a debugger over a debug bus;

initiating access of a memory mapped I/O (MMIO) of the processor in a debug port of the processor;

initiating debug port control mode using the memory mapped I/O, which causes the debug port to gain access to registers of the processor; and

receiving from the debugger the invasive debug operations for the processor, without the processor executing the invasive debug operations.

2. The method of claim 1 wherein the debug port control mode makes the debug port master enabling the debug port to implement the invasive debug operations for the processor and to access processor registers.

3. The method of claim 1 wherein the debug port can initiate invasive debug operations using the registers of the processor.

4. The method of claim 1 wherein the invasive debug operations are performed without running software on the processor.

5. The method of claim 1 wherein the invasive debug operations are received from a debugger program.

6. The method of claim 1 wherein the invasive debug operations are diagnostic operations.

7. The method of claim 1 wherein the invasive debug operations are testing of the registers of the processor.

8. A device for invasive debug of a processor without processor execution of instructions, comprising:

a memory accessing component to access a memory mapped input/output (I/O) of the processor;

a register access initiating component to initiate a debug port control mode using the memory mapped I/O, which causes the debug port to gain access to registers of the processor; and

an executing component to execute instructions from a debugger for invasive debug operations, without the processor executing the invasive debug operations.

9. The device of claim 8 wherein the memory accessing component triggers a debug port control mode that makes the debug port master enabling the debug port to implement the invasive debug operations for the processor and to access processor registers.

10. The device of claim 8 wherein the executing component can initiate invasive debug operations using the registers of the processor.

11. The device of claim 8 wherein the invasive debug operations are executed by the executing component without running software on the processor.

12. The device of claim 8 wherein the invasive debug operations are received by the executing component from a debugger program.

13. The device of claim 8 wherein the invasive debug operations executed by the executing component are diagnostic operations.

14. The device of claim 8 wherein the invasive debug operations executed by the executing component test the registers of the processor.

15. A processor comprising:

registers to store data being executed or manipulated by execution units;

execution units to execute instructions and manipulate data in the registers; and

a debug port communicatively coupled to the registers and execution units, the debug port including a memory accessing component to access a memory mapped input/output (I/O) of the processor, a register access initiating component to initiate a debug port control mode using the memory mapped I/O, which causes the debug port to gain access to the registers, and an executing component to execute instructions from a debugger for invasive debug operations, without the processor executing the invasive debug operations via the execution units.

16. The processor of claim 15 wherein the memory accessing component triggers a debug port control mode that makes the debug port master enabling the debug port to implement the invasive debug operations for the processor and to access processor registers.

17. The processor of claim 15 wherein the executing component can initiate invasive debug operations using the registers of the processor.

18. The processor of claim 15 wherein the invasive debug operations are executed by the executing component without running software on the execution units.

19. The processor of claim 15 wherein the invasive debug operations are received by the executing component from a debugger program.

20. The processor of claim 15 wherein the invasive debug operations executed by the executing component are diagnostic operations.

Continuity (2)
Continuation 13970344 · Aug 19, 2013
Related Publication 20170235656A1 · Aug 17, 2017