mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-11-02 20:44:39 +01:00 
			
		
		
		
	1. add Include folder which contain the *.h file which used by Tiano tools.
2. Change ${evn.WORKSPACE}/MdePkg to ${PACKAGE_DIR} in build.xml.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@509 6f19259b-4bc3-4df7-8a09-765794883524
		
	
			
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Defines data structure that is the volume header found at the beginning of
 | 
						|
  all firmware volumes that are either memory mapped, or have an
 | 
						|
  associated FirmwareVolumeBlock protocol.
 | 
						|
 | 
						|
  Copyright (c) 2006, Intel Corporation                                                         
 | 
						|
  All rights reserved. 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        
 | 
						|
  http://opensource.org/licenses/bsd-license.php                                            
 | 
						|
 | 
						|
  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
 | 
						|
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             
 | 
						|
 | 
						|
  Module Name:  FirmwareVolumeHeader.h
 | 
						|
 | 
						|
  @par Revision Reference:
 | 
						|
  These definitions are from Firmware Volume Block Spec 0.9.
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef __EFI_FIRMWARE_VOLUME_HEADER_H__
 | 
						|
#define __EFI_FIRMWARE_VOLUME_HEADER_H__
 | 
						|
 | 
						|
//
 | 
						|
// Firmware Volume Block Attributes definition
 | 
						|
//
 | 
						|
typedef UINT32  EFI_FVB_ATTRIBUTES;
 | 
						|
 | 
						|
//
 | 
						|
// Firmware Volume Block Attributes bit definitions
 | 
						|
//
 | 
						|
#define EFI_FVB_READ_DISABLED_CAP   0x00000001
 | 
						|
#define EFI_FVB_READ_ENABLED_CAP    0x00000002
 | 
						|
#define EFI_FVB_READ_STATUS         0x00000004
 | 
						|
 | 
						|
#define EFI_FVB_WRITE_DISABLED_CAP  0x00000008
 | 
						|
#define EFI_FVB_WRITE_ENABLED_CAP   0x00000010
 | 
						|
#define EFI_FVB_WRITE_STATUS        0x00000020
 | 
						|
 | 
						|
#define EFI_FVB_LOCK_CAP            0x00000040
 | 
						|
#define EFI_FVB_LOCK_STATUS         0x00000080
 | 
						|
 | 
						|
#define EFI_FVB_STICKY_WRITE        0x00000200
 | 
						|
#define EFI_FVB_MEMORY_MAPPED       0x00000400
 | 
						|
#define EFI_FVB_ERASE_POLARITY      0x00000800
 | 
						|
 | 
						|
#define EFI_FVB_ALIGNMENT_CAP       0x00008000
 | 
						|
#define EFI_FVB_ALIGNMENT_2         0x00010000
 | 
						|
#define EFI_FVB_ALIGNMENT_4         0x00020000
 | 
						|
#define EFI_FVB_ALIGNMENT_8         0x00040000
 | 
						|
#define EFI_FVB_ALIGNMENT_16        0x00080000
 | 
						|
#define EFI_FVB_ALIGNMENT_32        0x00100000
 | 
						|
#define EFI_FVB_ALIGNMENT_64        0x00200000
 | 
						|
#define EFI_FVB_ALIGNMENT_128       0x00400000
 | 
						|
#define EFI_FVB_ALIGNMENT_256       0x00800000
 | 
						|
#define EFI_FVB_ALIGNMENT_512       0x01000000
 | 
						|
#define EFI_FVB_ALIGNMENT_1K        0x02000000
 | 
						|
#define EFI_FVB_ALIGNMENT_2K        0x04000000
 | 
						|
#define EFI_FVB_ALIGNMENT_4K        0x08000000
 | 
						|
#define EFI_FVB_ALIGNMENT_8K        0x10000000
 | 
						|
#define EFI_FVB_ALIGNMENT_16K       0x20000000
 | 
						|
#define EFI_FVB_ALIGNMENT_32K       0x40000000
 | 
						|
#define EFI_FVB_ALIGNMENT_64K       0x80000000
 | 
						|
 | 
						|
#define EFI_FVB_CAPABILITIES  (EFI_FVB_READ_DISABLED_CAP | \
 | 
						|
                              EFI_FVB_READ_ENABLED_CAP | \
 | 
						|
                              EFI_FVB_WRITE_DISABLED_CAP | \
 | 
						|
                              EFI_FVB_WRITE_ENABLED_CAP | \
 | 
						|
                              EFI_FVB_LOCK_CAP \
 | 
						|
                              )
 | 
						|
 | 
						|
#define EFI_FVB_STATUS    (EFI_FVB_READ_STATUS | EFI_FVB_WRITE_STATUS | EFI_FVB_LOCK_STATUS)
 | 
						|
 | 
						|
///
 | 
						|
/// Firmware Volume Header Revision definition
 | 
						|
///
 | 
						|
#define EFI_FVH_REVISION  0x01
 | 
						|
 | 
						|
///
 | 
						|
/// Firmware Volume Header Signature definition
 | 
						|
///
 | 
						|
#define EFI_FVH_SIGNATURE EFI_SIGNATURE_32 ('_', 'F', 'V', 'H')
 | 
						|
 | 
						|
///
 | 
						|
/// Firmware Volume Header Block Map Entry definition
 | 
						|
///
 | 
						|
typedef struct {
 | 
						|
  UINT32  NumBlocks;
 | 
						|
  UINT32  BlockLength;
 | 
						|
} EFI_FV_BLOCK_MAP_ENTRY;
 | 
						|
 | 
						|
///
 | 
						|
/// Firmware Volume Header definition
 | 
						|
///
 | 
						|
typedef struct {
 | 
						|
  UINT8                   ZeroVector[16];
 | 
						|
  EFI_GUID                FileSystemGuid;
 | 
						|
  UINT64                  FvLength;
 | 
						|
  UINT32                  Signature;
 | 
						|
  EFI_FVB_ATTRIBUTES      Attributes;
 | 
						|
  UINT16                  HeaderLength;
 | 
						|
  UINT16                  Checksum;
 | 
						|
  UINT8                   Reserved[3];
 | 
						|
  UINT8                   Revision;
 | 
						|
  EFI_FV_BLOCK_MAP_ENTRY  FvBlockMap[1];
 | 
						|
} EFI_FIRMWARE_VOLUME_HEADER;
 | 
						|
 | 
						|
#endif
 |