IP Library Granted Patent US 10,877,751
Granted Patent B2
US 10,877,751 · App. 16/147,699 · Granted Dec 29, 2020

Spoofing a processor identification instruction

Inventors: Toby Opferman (Beaverton, OR); Russell C. Arnold (Fountain Hills, AZ); Vedvyas Shanbhogue (Austin, TX)
Assignee: Intel Corporation
G06F9/30003G06F9/30076G06F9/30145G06F9/45508
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,877,751
App. No.
16/147,699
Granted
Dec 29, 2020
Kind
B2
Abstract

Embodiments of processors, methods, and systems for a processor core supporting processor identification instruction spoofing are described. In an embodiment, a processor includes an instruction decoder and processor identification instruction spoofing logic. The processor identification spoofing logic is to respond to a processor identification instruction by reporting processor identification information from a processor identification spoofing data structure. The processor identification spoofing data structure is to include processor identification information of one or more other processors.

Claims (27)

1. A processor comprising:

an instruction decoder to decode a first processor identification instruction; and

processor identification instruction spoofing logic to, in response to the first processor identification instruction, report processor identification information from a processor identification spoofing data structure, the processor identification spoofing data structure to include processor identification information of one or more other processors,

wherein the processor identification information to be reported represents a union or an intersection of processor identification information of the processor and processor identification information of the one or more other processors.

2. The processor of claim 1 , wherein the processor identification information to be reported is based on a superset of the instruction set architectures of the processor and the one or more other processors.

3. The processor of claim 1 , wherein the processor identification information to be reported is based on a minimum subset of the instruction set architectures of the processor and the one or more other processors.

4. The processor of claim 1 , wherein the processor information spoofing data structure is to be constructed by an emulation module.

5. The processor of claim 1 , wherein the processor information spoofing data structure is to be constructed by an operating system.

6. The processor of claim 5 , wherein the instruction decoder is also to decode a second processor identification instruction and wherein the processor, in response to the second processor identification instruction, is to report a size of identification information of the processor or to store identification information of the processor to the processor identification spoofing data structure.

7. The processor of claim 6 , wherein the second processor identification instruction is to specify an address of the processor identification spoofing data structure.

8. The processor of claim 7 , wherein the processor is to report the size of the identification information of the processor in response to the second processor identification instruction specifying a designated value for the address of the processor identification spoofing data structure.

9. A method comprising:

constructing a processor identification spoofing data structure, the processor identification spoofing data structure including processor identification information of a plurality of processors;

receiving, by a first processor of the plurality of processors, a first processor identification instruction; and

reporting, by the first processor in response to the first processor identification instruction, processor identification information from the processor identification spoofing data structure, wherein the processor identification information to be reported represents a union or an intersection of processor identification information of the processor and processor identification information of one or more other processors of the plurality of processors.

10. The method of claim 9 , wherein the processor identification information to be reported is based on a superset of the instruction set architectures of the plurality of processors.

11. The method of claim 9 , wherein the processor identification information to be reported is based on a minimum subset of the instruction set architectures of the plurality of processors.

12. The method of claim 9 , wherein constructing the processor information spoofing data structure is by an operating system using a second processor identification instruction.

13. The method of claim 12 , further comprising reporting, by the processor in response to the second processor identification instruction, a size of identification information of the processor.

14. The processor of claim 12 , further comprising storing, by the processor in response to the second processor identification instruction, identification information of the processor to the processor identification information data structure.

15. A system comprising:

a system memory to store a processor identification spoofing data structure, the processor identification spoofing data structure including processor identification information of a plurality of processors in the system;

a first processor of the plurality of processors, the first processor having a first instruction set architecture (ISA);

a second processor of the plurality of processors, the second processor having a second ISA different from the first ISA, the second processor including:

an instruction decoder to decode a processor identification instruction; and

processor identification instruction spoofing logic to, in response to the processor identification instruction, report processor identification information from the processor identification spoofing data structure, wherein the processor identification information to be reported represents a union or an intersection of processor identification information of the processor and processor identification information of one or more other processors of the plurality of processors.

16. The system of claim 15 , wherein the processor identification information to be reported represents a union or an intersection of the first ISA and the second ISA.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2018
From: OPFERMAN, TOBY; ARNOLD, RUSSELL C.; SHANBHOGUE, VEDVYAS
To: INTEL CORPORATION
Reel/Frame 047337/0347 →
Continuity (1)
Related Publication 20200104128A1 · Apr 2, 2020