INSTRUCTIONS AND LOGIC TO PROVIDE BASE REGISTER SWAP STATUS VERIFICATION FUNCTIONALITY
First Claim
1. A processor comprising:
- a first model specific register (MSR) to store a first base address field corresponding to a segment for a first execution context;
a second MSR to store a second base address field corresponding to said segment for a second execution context;
a third register to store a base register swap status field corresponding to the segment of the first and second execution contexts;
a decode unit to decode a first swap instruction;
an execution unit to;
execute an exchange of the first MSR value and the second MSR value responsive to the decoded first swap instruction, determine if said exchange of the first MSR value and the second MSR value completed successfully, and change a value of the base register swap status field responsive to a determination that said exchange of the first MSR value and the second MSR value completed successfully.
1 Assignment
0 Petitions
Accused Products
Abstract
Instructions and logic provide base register swap status verification functionality. Embodiments include a processor having a first model specific register (MSR) to store a first base address corresponding to a segment for a first execution context and a second MSR to store a second base address corresponding to a segment for a second context. A third register stores a base register swap status field corresponding to the segment of the first and second contexts. A decode unit decodes a swap instruction and execution logic executes an exchange of the first MSR value and the second MSR value responsive to the swap instruction. The execution logic determines if said exchange of the first MSR value and the second MSR value completed successfully, and changes a value of the base register swap status field responsive to a determination that said exchange completed successfully.
19 Citations
45 Claims
-
1. A processor comprising:
-
a first model specific register (MSR) to store a first base address field corresponding to a segment for a first execution context; a second MSR to store a second base address field corresponding to said segment for a second execution context; a third register to store a base register swap status field corresponding to the segment of the first and second execution contexts; a decode unit to decode a first swap instruction; an execution unit to;
execute an exchange of the first MSR value and the second MSR value responsive to the decoded first swap instruction, determine if said exchange of the first MSR value and the second MSR value completed successfully, and change a value of the base register swap status field responsive to a determination that said exchange of the first MSR value and the second MSR value completed successfully. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
decoding a swap GS instruction; executing an exchange of a GS base register value and a kernel GS base register value responsive to the decoded swap GS instruction; determining if said exchange of the GS base register value and the kernel GS base register value completed successfully; and inverting a swapped GS status responsive to a determination that said exchange of the GS base register value and the kernel GS base register value completed successfully. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A machine-readable medium to record functional descriptive material including a first executable instruction, which if executed by a machine causes the machine to:
-
exchange a segment base register value and a kernel segment base register value responsive to the first executable instruction; determining if said exchange of the segment base register value and the kernel segment base register value completed successfully; and change a base register swapped status value responsive to a determination that said exchange of the segment base register value and the kernel segment base register value completed successfully. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A processing system comprising:
-
a system memory to store an executable system page including a first instruction; and a processor comprising; a first model specific register (MSR) to store a first base address field corresponding to a segment for a first execution context; a second MSR to store a second base address field corresponding to said segment for a second execution context; a third register to store a base register swap status field corresponding to the segment of the first and second execution contexts; a decode unit to decode the first instruction; an execution unit to;
execute an exchange of the first MSR value and the second MSR value responsive to the decoded first instruction, determine if said exchange of the first MSR value and the second MSR value completed successfully, and change a value of the base register swap status field responsive to a determination that said exchange of the first MSR value and the second MSR value completed successfully. - View Dependent Claims (38, 39, 40, 41, 42, 43)
-
-
44. A method comprising:
-
decoding a swap FS instruction; executing an exchange of a FS base register value and a kernel FS base register value responsive to the decoded swap FS instruction; determining if said exchange of the FS base register value and the kernel FS base register value completed successfully; and inverting a swapped FS status responsive to a determination that said exchange of the FS base register value and the kernel FS base register value completed successfully. - View Dependent Claims (45)
-
Specification