+/**\r
+ @par Protocol Description:\r
+ The EFI_ACPI_S3_SAVE_PROTOCOL is responsible for preparing all the information that the\r
+ Framework needs to restore the platform\92s preboot state during an S3 resume boot. This\r
+ information can include the following:\r
+ - The Framework boot script table, containing all necessary operations to initialize the platform\r
+ - ACPI table information, such as RSDT, through which the OS waking vector can be located\r
+ - Range of reserved memory that can be used on the S3 resume boot path\r
+ This protocol can be used after the Framework makes sure that the boot process is complete and\r
+ that no hardware has been left unconfigured. It is implementation specific where to call this\r
+ protocol to save all the information.\r
+ In the case of an EFI-aware OS, ExitBootServices()can be a choice to provide this hook.\r
+ The currently executing EFI OS loader image calls ExitBootServices()to terminate all boot\r
+ services. After ExitBootServices() successfully completes, the loader becomes responsible\r
+ for the continued operation of the system.\r
+ On a normal boot, ExitBootServices() checks if the platform supports S3 by looking for\r
+ EFI_ACPI_S3_SAVE_PROTOCOL. If the protocol exists, ExitBootServices()will assume\r
+ that the target platform supports an S3 resume and then call EFI_ACPI_S3_SAVE_PROTOCOL\r
+ to save the S3 resume information. The entire Framework boot script table will then be generated,\r
+ assuming the platform currently is in the preboot state.\r
+\r
+ @param GetLegacyMemorySize\r
+ Gets the size of legacy memory below 1 MB that is required for S3 resume.\r
+\r
+ @param S3Save\r
+ Prepare all information for an S3 resume.\r
+ \r
+**/\r