git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3377 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			80 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			3.0 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__
 | 
						|
 | 
						|
#include <FrameworkPei.h>
 | 
						|
 | 
						|
//
 | 
						|
// 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_TEST_FFS_ATTRIBUTES_BIT(FvbAttributes, TestAttributes, Bit) \
 | 
						|
    ( \
 | 
						|
      (BOOLEAN) ( \
 | 
						|
          (FvbAttributes & EFI_FVB_ERASE_POLARITY) ? (((~TestAttributes) & Bit) == Bit) : ((TestAttributes & Bit) == Bit) \
 | 
						|
        ) \
 | 
						|
    )
 | 
						|
 | 
						|
#define EFI_FVB_STATUS    (EFI_FVB_READ_STATUS | EFI_FVB_WRITE_STATUS | EFI_FVB_LOCK_STATUS)
 | 
						|
 | 
						|
#endif
 |