## @file
#
#  Copyright (c) 2010, 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
#  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.
#
##

IA32
====
FAT12                   FAT16             FAT32
bootsect.asm            bs16.asm          bs32.asm
start.asm               start16.asm       start32.asm
         \                   |                 /
          \                  |                /
                         efi32.asm

X64
===
FAT12                   FAT16             FAT32
bootsect.asm            bs16.asm          bs32.asm
start64.asm             st16_64.asm       st32_64.asm
         \                   |                 /
          \                  |                /
                         efi64.asm

MBR
===
Mbr.asm


GPT
===
Gpt.asm