/** @file
Support for S3 boot script lib. This file defined some internal macro and internal
data structure
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions
of the BSD License which accompanies this distribution. The
full text of the license may be found at
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef __INTERNAL_BOOT_SCRIPT_LIB__
#define __INTERNAL_BOOT_SCRIPT_LIB__
#include <PiDxe.h>
#include <Guid/EventGroup.h>
#include <Protocol/SmmBase2.h>
#include <Protocol/DxeSmmReadyToLock.h>
#include <Protocol/SmmReadyToLock.h>
#include <Library/S3BootScriptLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/SmbusLib.h>
#include <Library/DebugLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/TimerLib.h>
#include <Library/LockBoxLib.h>
#include "BootScriptInternalFormat.h"
//
// Macro to convert a UEFI PCI address to a PCI Library PCI address
//
((((UINTN)(A))& 0xff000000) >> 24), ((((UINTN)(A)) &0x00ff0000) >> 16), ((((UINTN)(A)) & 0xff00) >> 8), ((RShiftU64 ((A), 32) & 0xfff) | ((A)& 0xff)) \
)
typedef union {
} PTR;
// Minimum and maximum length for SMBus bus block protocols defined in SMBus spec 2.0.
//
//
// The boot script private data.
//
typedef struct {
typedef
);
//
// Define Opcode for Label which is implementation specific and no standard spec define.
//
///
/// The opcode indicate the start of the boot script table.
///
///
/// The opcode indicate the end of the boot script table.
///
#endif //__INTERNAL_BOOT_SCRIPT_LIB__