Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
First Claim
1. A method comprising:
- invoking a reset process in response to a processor being individually reset, a reset processor operating within a platform in an isolated execution mode and associated with an isolated area of memory;
invoking an initialization process for an initializing processor, wherein the initializing processor communicates with a memory controller hub (MCH), the MCH having isolated range values, which correspond to the isolated area of memory;
determining whether a cleanup flag is set; and
if the cleanup flag is set, scrubbing the isolated area of memory.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a method, apparatus, and system for invoking a reset process in response to a processor being individually reset. The reset processor operates within a platform in an isolated execution mode and is associated with an isolated area of memory. An initialization process is invoked for an initializing processor. The initialization process determines whether or not a cleanup flag is set. If the cleanup flag is set, the isolated area of memory is scrubbed. In one embodiment, when a last processor operating in the platform is reset, it is reset without clearing the cleanup flag. Subsequently, an initializing processor invokes the initialization process. The initialization process determines that the cleanup flag is set. The initialization process invokes the execution of a processor nub loader. If the cleanup flag is set, the processor nub loader scrubs the isolated area of memory and invokes a controlled close for the initializing processor. The controlled close clears the cleanup flag. The initializing processor then re-performs the initialization process. Upon the second iteration of the initialization process, with the cleanup flag not set, a new isolated area of memory is created for the initializing processor.
-
Citations
52 Claims
-
1. A method comprising:
-
invoking a reset process in response to a processor being individually reset, a reset processor operating within a platform in an isolated execution mode and associated with an isolated area of memory;
invoking an initialization process for an initializing processor, wherein the initializing processor communicates with a memory controller hub (MCH), the MCH having isolated range values, which correspond to the isolated area of memory;
determining whether a cleanup flag is set; and
if the cleanup flag is set, scrubbing the isolated area of memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
reading an isolated range value from an input/output controller hub (ICH) corresponding to the isolated area of memory previously associated with the reset processor;
setting an isolated range value of the initializing processor to the isolated range value of the ICH; and
copying a processor nub loader into the isolated area of memory.
-
-
8. The method of claim 7 wherein the processor nub loader scrubs the isolated area of memory.
-
9. The method of claim 7 wherein the initializing processor undergoes a controlled close clearing the cleanup flag.
-
10. The method of claim 9 wherein the initialization process further comprises creating a new isolated area of memory for the initializing processor.
-
11. The method of claim 10 wherein creating the new isolated area of memory for the initializing processor comprises:
-
setting a new isolated range value for the initializing processor;
setting a new isolated range value in the ICH;
setting a new isolated range value in a memory controller hub (MCH);
copying the processor nub loader into the new isolated area of memory; and
executing the processor nub loader.
-
-
12. The method of claim 10 wherein the initialization process further comprises initializing the new isolated area of memory for the platform.
-
13. A The method of claim 10 wherein the initialization process further comprises initializing the new isolated area of memory for a plurality of other processors.
-
14. An apparatus comprising:
-
a processor invoking a reset process in response to the processor being individually reset, a reset processor operating within a platform in an isolated execution mode and associated with an isolated area of memory; and
an initializing processor invoking an initialization process, the initialization process determining whether a cleanup flag is set, wherein the initializing processor communicates with a memory controller hub (MCH), the MCH having isolated range values, which correspond to the isolated area of memory; and
if the cleanup flag is set, the initialization process invokes a processor nub loader to scrub the isolated area of memory. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
reads an isolated range value from an input/output controller hub (ICH) corresponding to the isolated area of memory previously associated with the reset processor;
sets an isolated range value of the initializing processor to the isolated range value of the ICH; and
copies a processor nub loader into the isolated area of memory.
-
-
21. The apparatus of claim 20 wherein the processor nub loader scrubs the isolated area of memory.
-
22. The apparatus of claim 20 wherein the initializing processor performs a controlled close clearing the cleanup flag.
-
23. The apparatus of claim 22 wherein the initialization process creates a new isolated area of memory.
-
24. The apparatus of claim 23 wherein the initialization process creates the new isolated area of memory by:
-
setting a new isolated range value within the initializing processor;
setting a new isolated range value in the ICH;
setting a new isolated range value in a memory controller hub (MCH);
copying the processor nub loader into the new isolated area of memory; and
executing the processor nub loader.
-
-
25. The apparatus of claim 23 wherein the new isolated area of memory is initialized for the platform.
-
26. The apparatus of claim 23 wherein the new isolated area of memory is initialized for a plurality of other processors.
-
27. A computer program product comprising:
-
a machine readable medium having computer code stored therein, the computer program product comprising;
computer readable program code for invoking a reset process in response to a processor being individually reset, a reset processor operating within a platform in an isolated execution mode and associated with an isolated area of memory;
computer readable program code for invoking an initialization process for an initializing processor, wherein the initializing processor communicates with a memory controller hub (MCH), the MCH having isolated range values, which correspond to the isolated area of memory;
computer readable program code for determining whether a cleanup flag is set; and
if the cleanup flag is set, scrubbing the isolated area of memory. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
computer readable program code for clearing the cleanup flag; and
computer readable program code for creating a new isolated area of memory.
-
-
29. The computer program product of claim 27 wherein the computer readable program code for performing the initialization process for the initializing processor, when the cleanup flag is not set, further comprises computer readable program code for creating a new isolated area of memory.
-
30. The computer program product of claim 27 further comprising computer readable program code for allowing the initializing processor to utilize the isolated area of memory associated with the reset processor.
-
31. The computer program product of claim 27 wherein the reset processor is a last processor of a plurality of processors to be reset.
-
32. The computer program product of claim 27 wherein the initializing processor is a first processor to enroll in the initialization process.
-
33. The computer program product of claim 27 wherein the computer readable program code for performing the initialization process for the initializing processor, when the cleanup flag is set, further comprises:
-
computer readable program code for reading an isolated range value from an input/output controller hub (ICH) corresponding to the isolated area of memory previously associated with the reset processor;
computer readable program code for setting an isolated range value of the initializing processor to the isolated range value of the ICH; and
computer readable program code for copying a processor nub loader into the isolated area of memory.
-
-
34. The computer program product of claim 33 further comprising computer readable program code for allowing the processor nub loader to scrub the isolated area of memory.
-
35. The computer program product of claim 33 further comprising computer readable program code for performing a controlled close upon the initializing processor and clearing the cleanup flag.
-
36. The computer program product of claim 35 wherein the computer readable program code for initializing the initializing processor further comprises computer readable program code for creating a new isolated area of memory for the initializing processor.
-
37. The computer program product of claim 36 wherein the computer readable program code for creating the new isolated area of memory for the initializing processor further comprises:
-
computer readable program code for setting a new isolated range value for the initializing processor;
computer readable program code for setting a new isolated range value in the ICH;
computer readable program code for setting a new isolated range value in a memory controller hub (MCH);
computer readable program code for copying the processor nub loader into the new isolated area of memory; and
computer readable program code for executing the processor nub loader.
-
-
38. The computer program product of claim 36 further comprising computer readable program code for initializing the new isolated area of memory for the platform.
-
39. The computer program product of claim 36 further comprising computer readable program code for initializing the new isolated area of memory for the platform.
-
40. A system comprising:
-
a chipset;
a memory coupled to the chipset having an isolated area of memory;
a processor coupled to the chipset and the memory operating in a platform, the processor invoking a reset process in response to the processor being individually reset, a reset processor operating in an isolated execution mode and associated with the isolated area of memory; and
an initializing processor invoking an initialization process, the initialization process determining whether a cleanup flag is set, wherein the initializing processor communicates with a memory controller hub (MCH), the MCH having isolated range values, which correspond to the isolated area of memory; and
if the cleanup flag is set, the initialization process invokes a processor nub loader to scrub the isolated area of memory. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
reads an isolated range value from an input/output controller hub (ICH) corresponding to the isolated area of memory previously associated with the reset processor;
sets an isolated range value of the initializing processor to the isolated range value of the ICH; and
copies a processor nub loader into the isolated area of memory.
-
-
47. The system of claim 46 wherein the processor nub loader scrubs the isolated area of memory.
-
48. The system of claim 46 wherein the initializing processor performs a controlled close clearing the cleanup flag.
-
49. The system of claim 48 wherein the initialization process creates a new isolated area of memory.
-
50. The system of claim 49 wherein the initialization process creates the new isolated area of memory by:
-
setting a new isolated range value within the initializing processor;
setting a new isolated range value in the ICH;
setting a new isolated range value in a memory controller hub (MCH);
copying the processor nub loader into the new isolated area of memory; and
executing the processor nub loader.
-
-
51. The system of claim 49 wherein the new isolated area of memory is initialized for the platform.
-
52. The system of claim 49 wherein the new isolated area of memory is initialized for a plurality of other processors.
Specification