Skip to content

Commit

Permalink
Add preparation for FAR release.
Browse files Browse the repository at this point in the history
git-svn-id: https://fat-driver2.tianocore.org/svn/fat-driver2/trunk@24 65ba2f78-6c18-0410-a7b4-885970cf29fa
  • Loading branch information
qhuang8 committed Dec 21, 2007
1 parent 99e3b3f commit 5c387f1
Show file tree
Hide file tree
Showing 3 changed files with 243 additions and 12 deletions.
162 changes: 162 additions & 0 deletions FatPkg/EnhancedFatDxe/Fat.msa
@@ -0,0 +1,162 @@
<?xml version="1.0" encoding="UTF-8"?>
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MsaHeader>
<ModuleName>Fat</ModuleName>
<ModuleType>UEFI_DRIVER</ModuleType>
<GuidValue>961578FE-B6B7-44c3-AF35-6BC705CD2B1F</GuidValue>
<Version>1.0</Version>
<Abstract>Component description file for FAT module.</Abstract>
<Description>This UEFI driver detects the FAT file system in the disk. It also produces the Simple File System protocol for the consumer to perform file and directory operations on the disk.</Description>
<Copyright>Copyright (c) 2004 - 2007, Intel Corporation</Copyright>
<License>Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.

Neither the name of Intel nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Additional terms: In addition to the forgoing, redistribution and use
of the code is conditioned upon the FAT 32 File System Driver and all
derivative works thereof being used for and designed only to read
and/or write to a file system that is directly managed by an
Extensible Firmware Interface (EFI) implementation or by an emulator
of an EFI implementation.</License>
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</MsaHeader>
<ModuleDefinitions>
<SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
<BinaryModule>false</BinaryModule>
<OutputFileBasename>Fat</OutputFileBasename>
</ModuleDefinitions>
<LibraryClassDefinitions>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>DebugLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>UefiDriverEntryPoint</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>UefiLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>BaseLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>BaseMemoryLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>MemoryAllocationLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>UefiBootServicesTableLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>UefiRuntimeServicesTableLib</Keyword>
</LibraryClass>
</LibraryClassDefinitions>
<SourceFiles>
<Filename>Data.c</Filename>
<Filename>Delete.c</Filename>
<Filename>Fat.c</Filename>
<Filename>Flush.c</Filename>
<Filename>FileSpace.c</Filename>
<Filename>Info.c</Filename>
<Filename>Init.c</Filename>
<Filename>Misc.c</Filename>
<Filename>Open.c</Filename>
<Filename>OpenVolume.c</Filename>
<Filename>ReadWrite.c</Filename>
<Filename>Fat.h</Filename>
<Filename>FatFileSystem.h</Filename>
<Filename>ComponentName.c</Filename>
<Filename>DirectoryManage.c</Filename>
<Filename>Hash.c</Filename>
<Filename>FileName.c</Filename>
<Filename>DiskCache.c</Filename>
<Filename>DirectoryCache.c</Filename>
<Filename>UnicodeCollation.c</Filename>
</SourceFiles>
<NonProcessedFiles>
<Filename>Debug.c</Filename>
</NonProcessedFiles>
<PackageDependencies>
<Package PackageGuid="1E73767F-8F52-4603-AEB4-F29B510B6766"/>
<Package PackageGuid="8EA68A2C-99CB-4332-85C6-DD5864EAA674"/>
</PackageDependencies>
<Protocols>
<Protocol Usage="TO_START">
<ProtocolCName>gEfiBlockIoProtocolGuid</ProtocolCName>
</Protocol>
<Protocol Usage="TO_START">
<ProtocolCName>gEfiDiskIoProtocolGuid</ProtocolCName>
</Protocol>
<Protocol Usage="TO_START">
<ProtocolCName>gEfiUnicodeCollationProtocolGuid</ProtocolCName>
</Protocol>
<Protocol Usage="TO_START">
<ProtocolCName>gEfiUnicodeCollation2ProtocolGuid</ProtocolCName>
</Protocol>
<Protocol Usage="BY_START">
<ProtocolCName>gEfiSimpleFileSystemProtocolGuid</ProtocolCName>
</Protocol>
</Protocols>
<Variables>
<Variable Usage="ALWAYS_CONSUMED">
<VariableName>0x0050 0x006c 0x0061 0x0074 0x0066 0x006f 0x0072 0x006d 0x004c 0x0061 0x006e 0x0067</VariableName>
<GuidC_Name>gEfiGlobalVariableGuid</GuidC_Name>
<HelpText>Variable Name: L"PlatformLang"</HelpText>
</Variable>
<Variable Usage="ALWAYS_CONSUMED">
<VariableName>0x004c 0x0061 0x006e 0x0067</VariableName>
<GuidC_Name>gEfiGlobalVariableGuid</GuidC_Name>
<HelpText>Variable Name: L"Lang"</HelpText>
</Variable>
</Variables>
<Guids>
<GuidCNames Usage="ALWAYS_CONSUMED">
<GuidCName>gEfiGlobalVariableGuid</GuidCName>
</GuidCNames>
<GuidCNames Usage="ALWAYS_CONSUMED">
<GuidCName>gEfiFileSystemInfoGuid</GuidCName>
</GuidCNames>
<GuidCNames Usage="ALWAYS_CONSUMED">
<GuidCName>gEfiFileInfoGuid</GuidCName>
</GuidCNames>
<GuidCNames Usage="ALWAYS_CONSUMED">
<GuidCName>gEfiFileSystemVolumeLabelInfoIdGuid</GuidCName>
</GuidCNames>
</Guids>
<Externs>
<Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
<Extern>
<ModuleEntryPoint>FatEntryPoint</ModuleEntryPoint>
<ModuleUnloadImage>FatUnload</ModuleUnloadImage>
</Extern>
<Extern>
<DriverBinding>gFatDriverBinding</DriverBinding>
<ComponentName>gFatComponentName</ComponentName>
</Extern>
</Externs>
</ModuleSurfaceArea>
13 changes: 1 addition & 12 deletions FatPkg/EnhancedFatDxe/UnicodeCollation.c
Expand Up @@ -13,18 +13,7 @@
**/

#include <Uefi.h>

#include <Guid/GlobalVariable.h>
#include <Protocol/UnicodeCollation.h>

#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/PcdLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include "Fat.h"

STATIC EFI_UNICODE_COLLATION_PROTOCOL *mUnicodeCollationInterface = NULL;

Expand Down
80 changes: 80 additions & 0 deletions FatPkg/FatPkg.nspd
@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<PackageSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SpdHeader>
<PackageName>FatPkg</PackageName>
<GuidValue>8EA68A2C-99CB-4332-85C6-DD5864EAA674</GuidValue>
<Version>1.0</Version>
<Abstract>Edk FAT Package</Abstract>
<Description>FAT 32 Driver</Description>
<Copyright>Copyright (c) 2006, Intel Corporation.</Copyright>
<License>Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.

Neither the name of Intel nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Additional terms: In addition to the forgoing, redistribution and use
of the code is conditioned upon the FAT 32 File System Driver and all
derivative works thereof being used for and designed only to read
and/or write to a file system that is directly managed by an
Extensible Firmware Interface (EFI) implementation or by an emulator
of an EFI implementation.</License>
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</SpdHeader>
<PackageDefinitions>
<ReadOnly>false</ReadOnly>
<RePackage>false</RePackage>
</PackageDefinitions>
<MsaFiles>
<Filename>EnhancedFatDxe/Fat.msa</Filename>
</MsaFiles>
<GuidDeclarations>
<Entry Name="Fat Package Token space Guid" GuidTypeList="TOKEN_SPACE_GUID">
<C_Name>gEfiFatPkgTokenSpaceGuid</C_Name>
<GuidValue>c8e92dba-1d92-411f-ae0a-1dbed8f13299</GuidValue>
<HelpText/>
</Entry>
</GuidDeclarations>
<PcdDeclarations>
<PcdEntry>
<C_Name>PcdUnicodeCollationSupport</C_Name>
<Token>0x00010001</Token>
<TokenSpaceGuidCName>gEfiFatPkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>Support Unicode Collation</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdUnicodeCollationSupport2</C_Name>
<Token>0x00010002</Token>
<TokenSpaceGuidCName>gFatPkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>Support Unicode Collation 2.</HelpText>
</PcdEntry>
</PcdDeclarations>
</PackageSurfaceArea>

0 comments on commit 5c387f1

Please sign in to comment.