]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Protocol/SmmBase.h
Add more comments for IntelFramework's header files.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / SmmBase.h
index ab14f1c23b724487bb10cac139d8830805719ba1..97f0de6b2b0c7aeed5142922fa2cfc9b1a354d58 100644 (file)
@@ -1,7 +1,24 @@
 /** @file\r
   This file declares SMM Base abstraction protocol.\r
-  This is the base level of compatiblity for SMM drivers.\r
-\r
+  This protocol is used to install SMM handlers for support of subsequent SMI/PMI activations. This\r
+  protocol is available on both IA-32 and ItaniumĀ®-based systems.\r
\r
+  The EFI_SMM_BASE_PROTOCOL is a set of services that is exported by a processor device. It is\r
+  a required protocol for the platform processor. This protocol can be used in both boot services and\r
+  runtime mode. However, only the following member functions need to exist into runtime:\r
+  - InSmm()\r
+  - Communicate()\r
+  This protocol is responsible for registering the handler services. The order in which the handlers are\r
+  executed is prescribed only with respect to the MakeLast flag in the RegisterCallback()\r
+  service. The driver exports these registration and unregistration services in boot services mode, but\r
+  the registered handlers will execute through the preboot and runtime. The only way to change the\r
+  behavior of a registered driver after ExitBootServices() has been invoked is to use some\r
+  private communication mechanism with the driver to order it to quiesce. This model permits typical\r
+  use cases, such as invoking the handler to enter ACPI mode, where the OS loader would make this\r
+  call before boot services are terminated. On the other hand, handlers for services such as chipset\r
+  workarounds for the century rollover in CMOS should provide commensurate services throughout\r
+  preboot and OS runtime.\r
\r
   Copyright (c) 2007, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r