IP Library Granted Patent US 9,224,012
Granted Patent B2
US 9,224,012 · App. 13/897,688 · Granted Dec 29, 2015

Debug functionality in a secure computing environment

Inventor: Winthrop J. Wu (Shrewsbury, MA)
Assignee: ADVANCED MICRO DEVICES, INC.
G06F21/74
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 9,224,012
App. No.
13/897,688
Granted
Dec 29, 2015
Kind
B2
Abstract

A computer system includes a security processor, a first scan chain coupled to the security processor, a non-secure element, and a second scan chain coupled to the non-secure element. The computer system also includes one or more test access port controllers to control operation of the first and second scan chains, and further includes debug control logic, coupled to the one or more test access port controllers, to enable the one or more test access port controllers to activate debug functionality on the second scan chain but not the first scan chain in response to a predefined condition being satisfied.

Claims (62)

1. A computer system, comprising:

a security processor;

a first scan chain coupled to the security processor;

a non-secure element;

a second scan chain coupled to the non-secure element;

one or more test access port controllers that control operation of the first scan chain and the second scan chain; and

debug control logic coupled to the one or more test access port controllers, the debug control logic:

enabling the one or more test access port controllers to activate debug functionality on the second scan chain but not the first scan chain when a predefined condition is satisfied and one or more control signals from the security processor do not satisfy a specified criterion, the predefined condition being that a debug-enable signal is asserted and a debug password has been received; and

enabling the one or more test access port controllers to activate debug functionality on the first scan chain when the predefined condition is satisfied and the one or more control signals from the security processor satisfy the specified criterion.

2. The computer system of claim 1 , wherein the one or more test access port controllers are to provide boundary scan functionality on the first scan chain and the second scan chain regardless of whether the predefined condition is satisfied.

3. The computer system of claim 1 , further comprising:

one-time-programmable circuitry to provide the debug-enable signal; and

a port to receive the debug password.

4. The computer system of claim 3 , wherein the one-time-programmable circuitry comprises an electronically programmable fuse to store a bit corresponding to the debug-enable signal.

5. The computer system of claim 1 , further comprising:

a secure memory coupled to the first scan chain;

wherein the security processor deletes data from the secure memory before setting the one or more control signals to satisfy the specified criterion.

6. The computer system of claim 1 , wherein the one or more test access port controllers comprise:

a first test access port controller coupled to the first scan chain, the first test access port controller controlling operation of the first scan chain, wherein enabling the one or more test access port controllers to activate debug functionality on the first scan chain comprises enabling the first test access port controller; and

a second test access port controller coupled to the second scan chain, the second test access port controller controlling operation of the second scan chain, wherein enabling the one or more test access port controllers to activate debug functionality on the second scan chain comprises enabling the second test access port controller.

7. The computer system of claim 1 , further comprising:

a boot read-only memory (ROM) and a cryptographic coprocessor, both coupled to the security processor and the first scan chain;

wherein the security processor, the boot ROM, and the cryptographic coprocessor are accessible through the first scan chain in response to activation of the debug functionality on the first scan chain.

8. The computer system of claim 6 , further comprising:

a third test access port controller coupled to the security processor;

wherein the debug control logic enables the third test access port controller to access the security processor when the predefined condition is satisfied and one or more control signals from the security processor satisfy another specified criterion.

9. The computer system of claim 1 , wherein the debug functionality comprises the ability to perform one or more functions selected from the group consisting of stopping clocks, scanning registers, writing to registers, changing configurations, probing memories, and performing interrupts.

10. The computer system of claim 1 , wherein the security processor:

executes diagnostic code; and

configures the one or more control signals based on executing the diagnostic code.

11. A method, comprising:

in a computer system comprising a security processor coupled to a first scan chain and a non-secure element coupled to a second scan chain:

based on encountering a reset event, deactivating debug functionality on the first scan chain and the second scan chain;

activating debug functionality on the second scan chain but not the first scan chain when a predefined condition is satisfied and one or more control signals from the security processor do not satisfy a specified criterion, the predefined condition being that a debug-enable signal is asserted and a debug password has been received; and

activating debug functionality on the first scan chain when the predefined condition is satisfied and the one or more control signals from the security processor satisfy the specified criterion.

12. The method of claim 11 , further comprising providing boundary scan functionality on the first scan chain and the second scan chain regardless of whether the predefined condition is satisfied.

13. The method of claim 11 , wherein:

the computer system further comprises one-time-programmable circuitry that provides the debug-enable signal; and

the method further comprises determining that the predefined condition is satisfied, the determining comprising:

detecting that the debug-enable signal from the one-time-programmable circuitry is asserted, and

receiving the debug password.

14. The method of claim 11 , further comprising:

in the security processor, setting one or more control signals to satisfy the specified criterion.

15. The method of claim 11 , wherein:

the computer system further comprises a boot read-only memory (ROM) and a cryptographic coprocessor, both coupled to the security processor and the first scan chain; and

activating the debug functionality on the first scan chain comprises making the security processor, the boot ROM, and the cryptographic coprocessor accessible through the first scan chain.

16. The method of claim 11 , wherein the computer system further comprises a secure memory coupled to the first scan chain, the method further comprising deleting data from the secure memory before setting the one or more control signals to satisfy the specified criterion.

17. The method of claim 11 , wherein:

the computer system further comprises a first test access port controller coupled to the first scan chain and a second test access port controller coupled to the second scan chain; and

wherein activating the debug functionality on the first scan chain comprises providing an asserted first enable signal to the first test access port controller and activating the debug functionality on the second scan chain comprises providing an asserted second enable signal to the second test access port controller.

18. A computer system, comprising:

a security processor;

a first scan chain coupled to the security processor;

a non-secure element;

a second scan chain coupled to the non-secure element;

means for controlling access to the security processor through the first scan chain and for controlling access to the non-secure element through the second scan chain; and

means for activating debug functionality on the second scan chain but not the first scan chain when a predefined condition is satisfied and one or more control signals from the security processor do not satisfy a specified criterion, the predefined condition being that a debug-enable signal is asserted and a debug password has been received; and

means for activating debug functionality on the first scan chain when the predefined condition is satisfied and the one or more control signals from the security processor satisfy the specified criterion.

19. The computer system of claim 10 , further comprising:

a secure memory to store the diagnostic code;

wherein the secure memory downloads the diagnostic code based at least in part on a determination that a system-level debug enable signal is asserted; and

wherein the security processor acquires the diagnostic code from the secure memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2013
From: WU, WINTHROP J.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 030450/0361 →
Continuity (1)
Related Publication 20140344919A1 · Nov 20, 2014