-/**\r
- Return the size, in bytes, of a custom SMI Handler in bytes. If 0 is\r
- returned, then a custom SMI handler is not provided by this library,\r
- and the default SMI handler must be used.\r
-\r
- @retval 0 Use the default SMI handler.\r
- @retval > 0 Use the SMI handler installed by SmmCpuFeaturesInstallSmiHandler()\r
- The caller is required to allocate enough SMRAM for each CPU to\r
- support the size of the custom SMI handler.\r
-**/\r
-UINTN\r
-EFIAPI\r
-SmmCpuFeaturesGetSmiHandlerSize (\r
- VOID\r
- )\r
-{\r
- return 0;\r
-}\r
-\r
-/**\r
- Install a custom SMI handler for the CPU specified by CpuIndex. This function\r
- is only called if SmmCpuFeaturesGetSmiHandlerSize() returns a size is greater\r
- than zero and is called by the CPU that was elected as monarch during System\r
- Management Mode initialization.\r
-\r
- @param[in] CpuIndex The index of the CPU to install the custom SMI handler.\r
- The value must be between 0 and the NumberOfCpus field\r
- in the System Management System Table (SMST).\r
- @param[in] SmBase The SMBASE address for the CPU specified by CpuIndex.\r
- @param[in] SmiStack The stack to use when an SMI is processed by the\r
- the CPU specified by CpuIndex.\r
- @param[in] StackSize The size, in bytes, if the stack used when an SMI is\r
- processed by the CPU specified by CpuIndex.\r
- @param[in] GdtBase The base address of the GDT to use when an SMI is\r
- processed by the CPU specified by CpuIndex.\r
- @param[in] GdtSize The size, in bytes, of the GDT used when an SMI is\r
- processed by the CPU specified by CpuIndex.\r
- @param[in] IdtBase The base address of the IDT to use when an SMI is\r
- processed by the CPU specified by CpuIndex.\r
- @param[in] IdtSize The size, in bytes, of the IDT used when an SMI is\r
- processed by the CPU specified by CpuIndex.\r
- @param[in] Cr3 The base address of the page tables to use when an SMI\r
- is processed by the CPU specified by CpuIndex.\r
-**/\r
-VOID\r
-EFIAPI\r
-SmmCpuFeaturesInstallSmiHandler (\r
- IN UINTN CpuIndex,\r
- IN UINT32 SmBase,\r
- IN VOID *SmiStack,\r
- IN UINTN StackSize,\r
- IN UINTN GdtBase,\r
- IN UINTN GdtSize,\r
- IN UINTN IdtBase,\r
- IN UINTN IdtSize,\r
- IN UINT32 Cr3\r
- )\r
-{\r
-}\r
-\r