]>
Commit | Line | Data |
---|---|---|
6022e28c JJ |
1 | /** @file\r |
2 | CPU DXE MP support\r | |
3 | \r | |
4 | Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r | |
5 | This program and the accompanying materials\r | |
6 | are licensed and made available under the terms and conditions of the BSD License\r | |
7 | which accompanies this distribution. The full text of the license may be found at\r | |
8 | http://opensource.org/licenses/bsd-license.php\r | |
9 | \r | |
10 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
11 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
12 | \r | |
13 | **/\r | |
14 | \r | |
15 | #ifndef _CPU_MP_H_\r | |
16 | #define _CPU_MP_H_\r | |
17 | \r | |
18 | /**\r | |
19 | Initialize Multi-processor support.\r | |
20 | \r | |
21 | **/\r | |
22 | VOID\r | |
23 | InitializeMpSupport (\r | |
24 | VOID\r | |
25 | );\r | |
26 | \r | |
533263ee JJ |
27 | typedef\r |
28 | VOID\r | |
29 | (EFIAPI *STACKLESS_AP_ENTRY_POINT)(\r | |
30 | VOID\r | |
31 | );\r | |
32 | \r | |
33 | /**\r | |
34 | Starts the Application Processors and directs them to jump to the\r | |
35 | specified routine.\r | |
36 | \r | |
37 | The processor jumps to this code in flat mode, but the processor's\r | |
38 | stack is not initialized.\r | |
39 | \r | |
40 | @param ApEntryPoint Pointer to the Entry Point routine\r | |
41 | \r | |
42 | @retval EFI_SUCCESS The APs were started\r | |
43 | @retval EFI_OUT_OF_RESOURCES Cannot allocate memory to start APs\r | |
44 | \r | |
45 | **/\r | |
46 | EFI_STATUS\r | |
47 | StartApsStackless (\r | |
48 | IN STACKLESS_AP_ENTRY_POINT ApEntryPoint\r | |
49 | );\r | |
50 | \r | |
fab82c18 JJ |
51 | /**\r |
52 | The AP entry point that the Startup-IPI target code will jump to.\r | |
53 | \r | |
54 | The processor jumps to this code in flat mode, but the processor's\r | |
55 | stack is not initialized.\r | |
56 | \r | |
57 | **/\r | |
58 | VOID\r | |
59 | EFIAPI\r | |
60 | AsmApEntryPoint (\r | |
61 | VOID\r | |
62 | );\r | |
63 | \r | |
64 | /**\r | |
65 | Releases the lock preventing other APs from using the shared AP\r | |
66 | stack.\r | |
67 | \r | |
68 | Once the AP has transitioned to using a new stack, it can call this\r | |
69 | function to allow another AP to proceed with using the shared stack.\r | |
70 | \r | |
71 | **/\r | |
72 | VOID\r | |
73 | EFIAPI\r | |
74 | AsmApDoneWithCommonStack (\r | |
75 | VOID\r | |
76 | );\r | |
77 | \r | |
6022e28c JJ |
78 | #endif // _CPU_MP_H_\r |
79 | \r |