IP Library Granted Patent US 11,847,476
Granted Patent B2
US 11,847,476 · App. 17/379,550 · Granted Dec 19, 2023

Spoofing CPUID for backwards compatibility

Inventors: Mark Evan Cerny (Burbank, CA); Simon Pilgrim (London, GB)
Assignee: SONY INTERACTIVE ENTERTAINMENT INC.
G06F9/45508G06F9/5055
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 11,847,476
App. No.
17/379,550
Granted
Dec 19, 2023
Kind
B2
Abstract

To facilitate backwards compatibility, a computing device may respond to a call from an application for information regarding a processor on the computing device by returning information regarding a different processor than the processor on the computing device, including one or more of processor model, processor family, cache capabilities, translation lookaside buffer capabilities, processor serial number, processor brand, processor manufacturer, thread/core topology, cache topology, extended features, virtual address size, or physical address size that differs when the processor determines that the application is a legacy device application.

Claims (38)

1. A method, comprising:

in a computing device, responding to a call from an application for information regarding a processor on the computing device by returning information regarding a different processor than the processor on the computing device, wherein the processor returns information including one or more of processor model, processor family, cache capabilities, translation lookaside buffer capabilities, processor serial number, processor brand, processor manufacturer, thread/core topology, cache topology, extended features, virtual address size, or physical address size that differs when dedicated hardware of the processor determines that the application is a legacy device application.

2. The method of claim 1 , wherein the information regarding the different processor identifies certain features of the processor on the computing device as being different from ones that are actually supported by the computing device.

3. The method of claim 1 , wherein the information regarding the different processor identifies certain features of the processor on the computing device as not being supported at all by the processor on the computing device when in fact the certain features are supported by the processor on the computing device.

4. The method of claim 1 , wherein the application is a legacy application written for a legacy computing device.

5. The method of claim 1 , wherein the application is a legacy application written for a legacy computing device and wherein the information regarding the different processor identifies certain features of the processor on the computing device as being different from ones that are actually supported by the computing device.

6. The method of claim 1 , wherein the application is a legacy application written for a legacy computing device and wherein the information regarding the different processor identifies certain features of the processor on the computing device as not being supported at all by the processor on the computing device when in fact the certain features are supported by the processor on the computing device.

7. The method of claim 1 , wherein the application is a legacy application written for a legacy computing device and wherein the information regarding the different processor identifies a processor on the legacy computing device.

8. The method of claim 1 , wherein returning the information regarding the different processor includes use of an opcode supported by an architecture of the processor on the computing device.

9. The method of claim 1 , wherein returning the information regarding the different processor includes use of an opcode supported by an x86 architecture.

10. The method of claim 1 , wherein returning the information regarding the different processor includes use of a CPUID instruction.

11. The method of claim 1 , wherein returning the information regarding the different processor includes use of a microcode stored in a ROM in the core of the processor on the computing device and two different sets of processor ID data, wherein one set of data is for new device applications and another set of data is for legacy device applications.

12. The method of claim 1 , wherein returning the information regarding the different processor includes use of one ID program for legacy applications and another ID program for new device applications.

13. A computing device, comprising:

a processor configured to respond to a call from an application for information regarding the processor by returning information regarding a different processor wherein responding to a call from an application for information regarding a processor on the computing device by returning information regarding a different processor includes the processor returning one or more of processor model, processor family, cache capabilities, translation lookaside buffer capabilities, processor serial number, processor brand, processor manufacturer, thread/core topology, cache topology, extended features, virtual address size, or physical address size that differs when dedicated hardware of the processor determines that the application is a legacy device application.

14. The computing device of claim 13 , wherein the information regarding the different processor identifies certain features of the processor on the computing device as being different from ones that are actually supported by the computing device.

15. The computing device of claim 13 , wherein the information regarding the different processor identifies certain features of the processor on the computing device as not being supported at all by the processor on the computing device when in fact the certain features are supported by the processor on the computing device.

16. The computing device of claim 13 , wherein the application is a legacy application written for a legacy computing device.

17. The computing device of claim 13 , wherein the application is a legacy application written for a legacy computing device and wherein the information regarding the different processor identifies certain features of the processor on the computing device as being different from ones that are actually supported by the computing device.

18. The computing device of claim 13 , wherein the application is a legacy application written for a legacy computing device and wherein the information regarding the different processor identifies certain features of the processor on the computing device as not being supported at all by the processor on the computing device when in fact the certain features are supported by the processor on the computing device.

19. The computing device of claim 13 , wherein the application is a legacy application written for a legacy computing device and wherein the information regarding the different processor identifies a processor on the legacy computing device.

20. The computing device of claim 13 , wherein returning the information regarding the different processor includes use of an opcode supported by an architecture of the processor on the computing device.

21. The computing device of claim 13 , wherein returning the information regarding the different processor includes use of an opcode supported by an x86 architecture.

22. The computing device of claim 13 , wherein returning the information regarding the different processor includes use of a CPUID instruction.

23. The computing device of claim 13 , wherein returning the information regarding the different processor includes use of a microcode stored in a ROM in the core of the processor on the computing device and two different sets of processor ID data, wherein one set of data is for new device applications and another set of data is for legacy device applications.

24. The computing device of claim 13 , wherein returning the information regarding the different processor includes use of one ID program for legacy applications and another ID program for new device applications.

25. A non-transitory computer-readable medium having embodied therein executable instructions configured to cause a computing device to respond to a call from an application for information regarding a processor on the computing device by returning information regarding a different processor than the processor on the computing device when executed wherein responding to a call from the application includes returning one or more of processor model, processor family, cache capabilities, translation lookaside buffer capabilities, processor serial number, processor brand, processor manufacturer, thread/core topology, cache topology, extended features, virtual address size, or physical address size that differs when dedicated hardware of the processor determines that the application is a legacy device application.

26. The non-transitory computer-readable medium of claim 25 , wherein the information regarding the different processor identifies certain features of the processor on the computing device as being different from ones that are actually supported by the computing device.

27. The non-transitory computer-readable medium of claim 25 , wherein the information regarding the different processor identifies certain features of the processor on the computing device as not being supported at all by the processor on the computing device when in fact the certain features are supported by the processor on the computing device.

28. The non-transitory computer-readable medium of claim 25 , wherein the application is a legacy application written for a legacy computing device.

29. The non-transitory computer-readable medium of claim 25 , wherein the application is a legacy application written for a legacy computing device and wherein the information regarding the different processor identifies certain features of the processor on the computing device as being different from ones that are actually supported by the computing device.

30. The non-transitory computer-readable medium of claim 25 , wherein the application is a legacy application written for a legacy computing device and wherein the information regarding the different processor identifies certain features of the processor on the computing device as not being supported at all by the processor on the computing device when in fact the certain features are supported by the processor on the computing device.

31. The non-transitory computer-readable medium of claim 25 , wherein the application is a legacy application written for a legacy computing device and wherein the information regarding the different processor identifies a processor on the legacy computing device.

32. The non-transitory computer-readable medium of claim 25 , wherein returning the information regarding the different processor includes use of an opcode supported by an architecture of the processor on the computing device.

33. The non-transitory computer-readable medium of claim 25 , wherein returning the information regarding the different processor includes use of an opcode supported by an x86 architecture.

34. The non-transitory computer-readable medium of claim 25 , wherein returning the information regarding the different processor includes use of a CPUID instruction.

35. The non-transitory computer-readable medium of claim 25 , wherein returning the information regarding the different processor includes use of a microcode stored in a ROM in the core of the processor on the computing device and two different sets of processor ID data wherein one set of data is for new device applications and another set of data is for legacy device applications.

36. The non-transitory computer-readable medium of claim 25 , wherein returning the information regarding the different processor includes use of one ID program for legacy applications and another ID program for new device applications.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2021
From: CERNY, MARK EVAN; PILGRIM, SIMON
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 056904/0797 →
Continuity (3)
Continuation 15411310 · Jan 20, 2017
Provisional Application 62286280 · Jan 22, 2016
Related Publication 20210365282A1 · Nov 25, 2021