IP Library Granted Patent US 8,261,047
Granted Patent B2
US 8,261,047 · App. 12/049,984 · Granted Sep 4, 2012

Qualification of conditional debug instructions based on address

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 8,261,047
App. No.
12/049,984
Granted
Sep 4, 2012
Kind
B2
Abstract

A processor implementation supports selection of an execution mode for debug instruction instances based on respective addresses thereof in addressable memory can provide an attractive mechanism for executing debug instructions in a way that allows some instances of the instructions to operate with debug semantics while suppressing other instances by executing them with no-operation (NOP) semantics. In some embodiments, selection of operative execution semantics may be based on attributes of a memory page in which a particular debug instruction instance resides. In some embodiments, portions of an address space may be delimited (e.g., using values stored in bounding registers and addresses of particular debug instruction instances compared against the delimited portions to select appropriate execution semantics. In some embodiments, both types of evaluations may be used in selecting appropriate execution semantics for a particular debug instruction instance.

Claims (54)

1. A method comprising:

executing code on a processor, the code including at least first and second instances of a same debug instruction; and

selecting an execution mode for individual ones of the debug instruction instances based on respective addresses thereof in memory addressable by the processor, wherein based on the respective addresses, the first debug instruction instance executes with no-operation (NOP) semantics and the second debug instruction instance executes with debug-related semantics.

2. The method of claim 1 , wherein the selecting includes:

checking a debug attribute for a memory page in which a particular instance of the debug instruction resides; and

based at least in part on the debug attribute, selecting one of the no-operation (NOP) semantics and the debug-related semantics.

3. The method of claim 2 , further comprising:

maintaining the debug attribute in connection with virtual-to-physical page mapping information.

4. The method of claim 1 , wherein the selecting includes:

comparing a memory address for a particular instance of the debug instruction with contents of one or more stores that delimit one or more respective portions of the memory; and

based at least in part on correspondence of the memory address with a delimited portion, selecting one of the no-operation (NOP) semantics and the debug-related semantics.

5. The method of claim 1 , wherein the selecting includes:

performing both a page attribute check and a comparison against delimited portions of memory; and

based on a composition of the page attribute check and delimited portion comparison, selecting one of the no-operation (NOP) semantics and the debug-related semantics.

6. The method of claim 1 ,

wherein the selecting disables otherwise operative debug-related semantics of the debug instruction.

7. The method of claim 1 ,

wherein the selecting enables otherwise latent debug-related semantics of the debug instruction.

8. The method of claim 1 , further comprising:

decoding the first debug instruction instance in accordance with the address-based selection of NOP semantics to produce a NOP instruction; and

executing the NOP instruction.

9. The method of claim 1 , wherein the debug instruction is selected from a set of instructions that include or implement functionality of one or more of:

a debug notify halt (DNH) instruction;

a breakpoint or watchpoint instruction; and

a debug exception.

10. A method of controlling debug behavior of a processor, the method comprising:

identifying first and second address-delimited portions of a memory for which instances of a debug-type instruction residing therein are to be executed by the processor with differing semantics; and

conveying a machine readable encoding consistent with the first and second address-delimited portions to storage accessible to the processor, wherein logic of the processor is selective for execution semantics based on a comparison between the conveyed address-delimited portions and respective addresses in the memory of executed instances of the debug-type instruction.

11. The method of claim 10 ,

wherein the conveying is either via an external debug interface or is based on software executable on the processor.

12. The method of claim 10 , further comprising:

executing code on the processor, the code including at least first and second instances of the debug instruction, wherein based on the conveyed address-delimited portions and respective addresses of the first and second debug instruction instances, the first debug instruction instance executes with no-operation (NOP) semantics and the second debug instruction instance executes with debug-related semantics.

13. The method of claim 10 ,

wherein the logic is responsive to either or both of a set of memory page-associated debug attributes and one or more address-delimiting debug registers of the processor.

14. An apparatus comprising:

a processor that implements an instruction set that includes a debug-type instruction; and

logic of the processor selective for a respective execution mode for respective instances of the debug-type instruction based on respective addresses thereof in memory addressable by the processor.

15. The apparatus of claim 14 , further comprising:

a memory management unit that maintains in association with page mapping information, a debug attribute for memory pages,

wherein the logic selective for execution mode is responsive, with respect to a particular instance of the debug-type instruction, to the debug attribute for the memory page on which the particular debug-type instruction instance resides.

16. The apparatus of claim 14 , further comprising:

one or more machine readable stores of the processor writable to identify respective one or more address-delimited portions of the memory,

wherein the logic selective for execution mode is responsive, with respect to a particular instance of the debug-type instruction, to a comparison between contents of the machine readable stores and a memory address at which the particular debug-type instruction instance resides.

17. The apparatus of claim 14 ,

wherein based on its respective address, a first instance of the debug-type instruction executes with no-operation (NOP) semantics, and

wherein based on its respective address, a second instance of the debug-type instruction executes with debug-related semantics.

18. The apparatus of claim 14 , further comprising:

a memory management unit that maintains in association with page mapping information, a debug attribute for memory pages; and

one or more machine readable stores of the processor writable to identify respective one or more address-delimited portions of the memory,

wherein the logic selective for execution mode is responsive, with respect to a particular instance of the debug-type instruction and its address in the memory, to a composition of both the associated debug attribute and the address-delimited portions of the memory.

19. The apparatus of claim 18 ,

wherein the composition is characterized in that both the page-associated debug attribute and one of the address-delimited portions of memory are selective for debug-related semantics.

20. The apparatus of claim 18 ,

wherein the composition is characterized in that either the page-associated debug attribute or one of the address-delimited portions of memory is selective for debug-related semantics.

Assignments (33)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2026
From: NXP USA, INC.
To: NEX-X SILICON LLC
Reel/Frame 075615/0773 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040632 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Sep 21, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 044209/0047 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 040632/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0688 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Mar 15, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 024085/0001 →
SECURITY AGREEMENT Recorded Jul 7, 2008
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 021194/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2008
From: AUYEUNG, CHEUNG
To: SONY CORPORATION; SONY ELECTRONICS INC.
Reel/Frame 020777/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2008
From: MOYER, WILLIAM C.; SNYDER, MICHAEL D.; WHISENHUNT, GARY L.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 020670/0556 →