IP Library Granted Patent US 8,024,620
Granted Patent B2
US 8,024,620 · App. 12/179,629 · Granted Sep 20, 2011

Dynamic address-type selection control in a data processing system

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,024,620
App. No.
12/179,629
Granted
Sep 20, 2011
Kind
B2
Abstract

A translated address and an untranslated address associated with a same processor operation are received. An address-type indicator is provided whose value is indicative of whether the translated or untranslated address is to be used for creating a debug message. The value of the address-type indicator is selectively modified in response to occurrence of one or more selected debug events. Based at least in part on the value of the address-type indicator, the translated or untranslated address is selected. The address-type indicator may be selectively overridden to select the translated or untranslated address as the selected address based on whether a process identifier is at least one of a set of process identifiers or whether at least one of the translated or untranslated address falls within one or more predetermined address ranges. A debug message is created using at least a portion of the selected address.

Claims (44)

1. A method for generating a debug message in a data processing system, the method comprising:

receiving a translated address and an untranslated address associated with a same processor operation;

providing an address-type indicator whose value is indicative of whether the translated address or the untranslated address is to be used for creating a debug message;

selectively modifying the value of the address-type indicator in response to an occurrence of one or more selected debug events;

selecting, based at least in part on the value of the modified address-type indicator, the translated address or the untranslated address as a selected address, wherein selecting includes overriding the address type indicator with the modified address-type indicator and determining the value of the modified address-type indicator to select the translated address or the untranslated address as the selected address; and

creating a debug message using at least a portion of the selected address.

2. The method of claim 1 , further comprising:

providing debug event selection control information to indicate the one or more selected debug events.

3. The method of claim 2 , wherein the debug event selection control information further indicates how to selectively modify the value of the address-type indicator in response to the occurrence of the one or more selected debug events.

4. The method of claim 3 , wherein the selectively modifying the value of the address-type indicator comprises:

setting the address-type indicator to a first predetermined value when the debug event selection control information has a first value; and

setting the address-type indicator to a second predetermined value different from the first predetermined value when the debug event selection control information has a second value.

5. The method of claim 3 , wherein the selectively modifying the value of the address-type indicator comprises:

toggling the address-type indicator when the debug event selection control information has a first value.

6. The method of claim 1 , wherein the debug message is further characterized as a program trace debug message.

7. The method of claim 1 , wherein the selectively overriding the address-type indicator is performed based on whether a process identifier associated with the same processor operation is at least one of a set of process identifiers.

8. The method of claim 1 , wherein the selectively overriding the address-type indicator is preformed based on whether at least one of the translated address or the untranslated address falls within a predetermined address range.

9. The method of claim 1 , wherein the debug message is further characterized as a data trace debug message.

10. A method for generating a debug message in a data processing system, the method comprising:

receiving a translated address and an untranslated address associated with a same processor operation;

providing an address-type indicator which indicates whether the translated address or the untranslated address is to be used for creating a debug message;

selectively overriding the address-type indicator based on a process identifier associated with the same processor operation or based on whether at least one of the translated address or the untranslated address falls within one or more predetermined address ranges to select one of the translated address or the untranslated address as a selected address; and

creating a debug message using at least a portion of the selected address.

11. The method of claim 10 , wherein the selectively overriding comprises:

selectively overriding the address-type indicator based on whether the process identifier associated with the same processor operation is at least one of a set of process identifiers.

12. The method of claim 10 , wherein the one or more predetermined address ranges are user programmable.

13. The method of claim 10 , wherein the selectively overriding the address-type indicator based on whether the at least one of the translated address or the untranslated address falls within the one or more predetermined address ranges comprises:

when the translated address or the untranslated address falls within the one or more predetermined address ranges, selecting a first address from the translated address and the untranslated address as the selected address; and

when the translated address or the untranslated address falls outside the one or more predetermined address ranges, selecting a second address, different from the first address, from the translated address and the untranslated address as the selected address.

14. The method of claim 10 , wherein the debug message is further characterized as a program trace debug message.

15. A data processing system, comprising:

address translation logic which translates an untranslated address associated with a processor operation of the data processing system to a translated address associated with the processor operation;

storage circuitry which stores an address-type indicator whose value is indicative of whether the translated address or the untranslated address is to be used for creating a debug message;

modification circuitry which selectively modifies the value of the address-type indicator in the storage circuitry in response to an occurrence of one or more selected debug events;

selection circuitry which selects, based at least in part on the value of the address-type indicator, the untranslated address associated with the processor operation or the translated address associated with the processor operation as a selected address;

override logic which, based on whether a process identifier associated with the processor operation is at least one of a set of process identifiers, provides an override indicator to the selection circuitry, wherein the selection circuitry selects the selected address based on the value of the address-type indicator and the override indicator; and

debug message generation circuitry which generates a debug message corresponding to the processor operation using the selected address provided by the selection circuitry.

16. The data processing system of claim 15 , further comprising:

second storage circuitry, coupled to the modification circuitry, which stores debug event selection control information which indicates the one or more selected debug events and how to selectively modify the value of the address-type indicator in response to the occurrence of the one or more selected debug events.

17. The data processing system of claim 16 , wherein the modification circuitry sets the address-type indicator to a first predetermined value when the debug event selection control information has a first value, sets the address-type indicator to a second predetermined value when the debug event selection control information has a second value, and toggles the value of the address-type indicator when the debug event selection control information has a third value.

18. The data processing system of claim 16 , further comprising:

third storage circuitry, coupled to the modification circuitry, which indicates the occurrence of the one or more selected debug events.

19. The data processing system of claim 15 , further comprising:

override logic, which based on whether at least one of the translated address or the untranslated address falls within a predetermined address range, provides an override indicator to the selection circuitry, wherein the selection circuitry selects the selected address based on the value of the address-type indicator and the override indicator.

Assignments (22)
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 →
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 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 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
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 037354/0757 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
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 Dec 9, 2008
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 021936/0772 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2008
From: MOYER, WILLIAM C.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 021299/0942 →