summaryrefslogtreecommitdiffstats
path: root/FatPkg/EnhancedFatDxe
Commit message (Collapse)AuthorAgeFilesLines
* FatPkg: Fix potentially uninitialized variableBret Barkelew2024-10-251-0/+2
| | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1559 Initializes the variable to prevent an uninitialized variable warning in Visual Studio with C4701 enabled. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* FatPkg: Improvements to Fat to Fix File CorruptionMike Turner2024-09-233-15/+236
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch improves dirty bit checking in FAT and coalesces multiple writes to adjacent blocks into a single write. For good read performance, the Fat code caches 64KB lines from the file system. Any update to the data will force 64KB writes. Writing the full 64KB causes collateral blocks (i.e. blocks belonging to other files) to be written. This is inefficient to write blocks that are not dirty, the FAT driver should only be writing blocks that have actually been updated through its cache. This also resolves an issue with existing bootloaders which have ways to update files outside of the FAT code and the collateral write can corrupt those files. One such file is the Windows BCD that gets updated outside of the FAT code and has been seen to be corrupted by the collateral writes, causing the OS to fail to boot. This fix keeps track of physical disk block (LBA) size and will only mark LBA size zones of the 64KB cache line that are written to. When the file is closed and the cached data is written, only the dirty LBAs are written, which avoids the collateral write and therefore the corruption. In addition, adjacent LBAs will be coalesced into one write for performance considerations. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* FatPkg: Check BlockIo Device Has Supported BlockSizeOliver Smith-Denny2024-09-231-0/+24
| | | | | | | | | | | Per the FAT spec, FAT32 supports block sizes of 512B, 1KB, 2KB, or 4KB. This patch adds a check to the FAT driver initialization to ensure that the underlying BlockIo device supports one of those block sizes and fails initialization otherwise. The underlying BlockIo blocksize is used when we flush the FatDiskCache back to disk and if the block size is an unsupported size, we could cause file corruption. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* FatPkg/EnhancedFatDxe: Downgrade debug level for no media foundNhi Pham2024-09-031-1/+1
| | | | | | | | It is normal for a disk to not have FAT file system (known as No Media), therefore, it should not produce a "failed" entry in the boot console. This aims to lower the debug level to verbose. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
* FatPkg: Apply uncrustify changesMichael Kubacki2021-12-0720-1350/+1477
| | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the FatPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* FatPkg: Change use of EFI_D_* to DEBUG_*Michael D Kinney2021-12-076-13/+12
| | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3739 Update all use of EFI_D_* defines in DEBUG() macros to DEBUG_* defines. Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael Kubacki <michael.kubacki@microsoft.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* FatPkg/EnhancedFatDxe: Fix various typosAntoine Coeur2020-02-107-12/+12
| | | | | | | | | | | Fix various typos in FatPkg/EnhancedFatDxe comments. Cc: Ray Ni <ray.ni@intel.com> Signed-off-by: Antoine Coeur <coeur@gmx.fr> Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com> Acked-by: Liming Gao <liming.gao@intel.com> Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com> Message-Id: <20200207010831.9046-8-philmd@redhat.com>
* FatPkg: Fix spelling errorsSean Brogan2019-10-229-25/+25
| | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=2264 Cc: Ray Ni <ray.ni@intel.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* FatPkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney2019-04-0923-161/+23
| | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* FatPkg: Correct the line ending to CRLFRuiyu Ni2018-10-241-5/+5
| | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg/EnhancedFatDxe Fix Double Cluster AllocationRobinson, Herbie2018-10-241-7/+21
| | | | | | | | | | | | | | This is a fix for a double cluster allocation when the disk is full. The double allocation happens because FatGrowEof calls FatAllocateCluster without immediately marking the each returned cluster as allocated. The fix is to move the FatSetFatEntry call inside the loop. I've also include some improvements to the sanity checks that I added while tracking this down. They are optional. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Herbie Robinson <Herbie.Robinson@stratus.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg: Removing ipf which is no longer supported from edk2.Chen A Chen2018-09-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing rules for Ipf sources file: * Remove the source file which path with "ipf" and also listed in [Sources.IPF] section of INF file. * Remove the source file which listed in [Components.IPF] section of DSC file and not listed in any other [Components] section. * Remove the embedded Ipf code for MDE_CPU_IPF. Removing rules for Inf file: * Remove IPF from VALID_ARCHITECTURES comments. * Remove DXE_SAL_DRIVER from LIBRARY_CLASS in [Defines] section. * Remove the INF which only listed in [Components.IPF] section in DSC. * Remove statements from [BuildOptions] that provide IPF specific flags. * Remove any IPF sepcific sections. Removing rules for Dec file: * Remove [Includes.IPF] section from Dec. Removing rules for Dsc file: * Remove IPF from SUPPORTED_ARCHITECTURES in [Defines] section of DSC. * Remove any IPF specific sections. * Remove statements from [BuildOptions] that provide IPF specific flags. Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg: Clean up source filesLiming Gao2018-06-284-9/+9
| | | | | | | | | | 1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg/EnhancedFatDxe: Ensure traverse of subtasks is delete-safeHao Wu2018-04-181-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Within function FatQueueTask(), the traverse of FAT subtasks for executing the disk read/write is not delete-safe. For the below case: FatDiskIo(): When non-blocking access, creates subtasks and creates event (FatOnAccessComplete, NOTIFY level) when subtasks finish. FatQueueTask(): Traverses the subtasks and submits them one by one at Tpl lower than NOTIFY. Disk R/W completes really quick. FatOnAccessComplete(): Removes the finished subtask, causing the traverse in FatQueueTask() broken. This commits will refine the subtask traverse in FatQueueTask() to be delete-safe. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg: Refine casting expression result to bigger sizeHao Wu2017-03-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are cases that the operands of an expression are all with rank less than UINT64/INT64 and the result of the expression is explicitly cast to UINT64/INT64 to fit the target size. An example will be: UINT32 a,b; // a and b can be any unsigned int type with rank less than UINT64, like // UINT8, UINT16, etc. UINT64 c; c = (UINT64) (a + b); Some static code checkers may warn that the expression result might overflow within the rank of "int" (integer promotions) and the result is then cast to a bigger size. The commit refines codes by the following rules: 1). When the expression is possible to overflow the range of unsigned int/ int: c = (UINT64)a + b; 2). When the expression will not overflow within the rank of "int", remove the explicit type casts: c = a + b; 3). When the expression will be cast to pointer of possible greater size: UINT32 a,b; VOID *c; c = (VOID *)(UINTN)(a + b); --> c = (VOID *)((UINTN)a + b); 4). When one side of a comparison expression contains only operands with rank less than UINT32: UINT8 a; UINT16 b; UINTN c; if ((UINTN)(a + b) > c) {...} --> if (((UINT32)a + b) > c) {...} For rule 4), if we remove the 'UINTN' type cast like: if (a + b > c) {...} The VS compiler will complain with warning C4018 (signed/unsigned mismatch, level 3 warning) due to promoting 'a + b' to type 'int'. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg: Explicitly declare FAT_CLUSTER_SPECIAL as unsigned typeHao Wu2017-01-121-2/+2
| | | | | | | | | | | In FatPkg, cluster-related varibles are declared as unsigned type (e.g. UINT32/UINTN). To keep the comparisions involving those variables type-matched, declare the definition FAT_CLUSTER_SPECIAL as unsigned type explicitly. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg/EnhancedFatDxe: Remove the file which is not usedDandan Bi2016-12-141-62/+0
| | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg: Fix format issues in dec/inf/dsc filesDandan Bi2016-12-091-1/+1
| | | | | | | Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg/EnhancedFatDxe: Add comments for functionsDandan Bi2016-12-093-0/+908
| | | | | | | Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding styleDandan Bi2016-12-0921-2649/+1566
| | | | | | | Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg/EnhancedFatDxe: Use typedef for complex typeDandan Bi2016-12-092-19/+27
| | | | | | | Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg/EnhancedFatDxe: Make the variable name follow ruleDandan Bi2016-12-098-100/+100
| | | | | | | Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg/EnhancedFatDxe: Make function prototype align with definitionDandan Bi2016-12-091-2/+2
| | | | | | | Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg/EnhancedFatDxe: Use global variable replace static local variableDandan Bi2016-12-091-2/+2
| | | | | | | | | | Create global variable "mMonthDays" to replace static local variable "MonthDays" in FatIsValidTime() function in Misc.c. Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg/EnhancedFatDxe: Avoid Non-Boolean type uses as BooleanDandan Bi2016-12-091-2/+2
| | | | | | | Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* FatPkg/EnhancedFatDxe: rebase to ARRAY_SIZE()Laszlo Ersek2016-10-273-6/+6
| | | | | | | | Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* FatPkg EnhancedFatDxe: Use safe string functionsHao Wu2016-04-064-15/+32
| | | | | | | | | | | | | | | | | | | | | Unsafe string functions are replaced with safe ones. Safe string functions will assert if DestMax is not greater than StrnLenS(Source, DestMax). Therefore, additional assert for checking the size of source and destination buffers can be removed. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> (based on FatPkg commit 2cb92b4f19b096daf133d6501afa13e5a85062c5) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* EFI_FILE_PROTOCOL spec conformance bug fix.Ruiyu Ni2016-04-062-23/+20
| | | | | | | | | | | | | | | | | | 1. Write() should return Unsupported instead of WriteProtected when operating above a directory in read-only media. 2. SetInfo() should return Unsupported instead of WriteProtected when operating above a directory using a undefined GUID in read-only media. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Eric Jin <eric.jin@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> (based on FatPkg commit 8ff136aaa3fff82d81514fd3091961ec4a63c873) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* FatPkg: INF/DEC file updates to EDK II packagesShumin Qiu2016-04-062-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | 2. Add MODULE_UNI_FILE file that contains the localized Abstract and Description of a module. a. Addresses an information gap between INF files and the UEFI Distribution Packaging Specification XML schema b. There will be an associated update to UPT in BaseTools to consume MODULE_UNI_FILE and associated UNI file during UDP creation that performs the INF -> XML conversion. c. There will be an associated update to UPT in BaseTools to produce MODULE_UNI_FILE and associated UNI file during UDP installation that performs the XML -> INF conversion. 3. Add Module Extra UNI file that provides the localized Name of a module. a. [UserExtensions.TianoCore."ExtraFiles"] provides an easy method for a module to specify extra files not listed in [Sources] or [Binaries] sections to be added to a UDP without having to list the files in the UPT package information data file. b. There will be an associated update to UPT in BaseTools to package up files listed in [UserExtensions.TianoCore."ExtraFiles"] during UDP creation. c. UNI file contains localized name of a module to go along with the localized Abstract and Description from the MODULE_UNI_FILE. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu, Shumin <shumin.qiu@intel.com> Reviewed-by: Gao, Liming <liming.gao@intel.com> (based on FatPkg commit 72df7b600a778b150a0362aec3cf6031284cd64f) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* FatPkg: INF/DEC file updates to EDK II packagesShumin Qiu2016-04-061-12/+15
| | | | | | | | | | | | | | | | | | 1. Usage information in INF file comment blocks are either incomplete or incorrect. This includes usage information for Protocols/PPIs/GUIDs/PCDs/HOBs/Events/BootModes. The syntax for usage information in comment blocks is defined in the EDK II Module Information (INF) Specification Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu, Shumin <shumin.qiu@intel.com> Reviewed-by: Gao, Liming <liming.gao@intel.com> (based on FatPkg commit 808c87363023e16a6b81068dd7e21648e16c7f57) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Fix a potential buffer over flow issue.Ruiyu Ni2016-04-061-2/+3
| | | | | | | | | | | | | Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> (based on FatPkg commit 2355ea2cf327c047d7d448a1ae4e606707c82ded) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Refine code to make it more safely.Eric Dong2016-04-061-1/+3
| | | | | | | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> (based on FatPkg commit 059c24212d10c63351e377636b73a22e480a024b) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Fix a bug that prevents Fat driver being unloaded successfully.Ruiyu Ni2016-04-061-5/+64
| | | | | | | | | | | | | Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> (based on FatPkg commit 8e0e11897d92c75a6cd1d0fa8af8cb50a60bfe2d) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Remove the RemoteEntryList() because the Task isn't added to the linked list ↵Ruiyu Ni2016-04-061-1/+0
| | | | | | | | | | | | | | | upon failure. Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> (based on FatPkg commit b9bcd0416e5f2da80fc386336228d61a865044aa) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Fix a bug in the Fat Stop() function which may return EFI_NOT_FOUND when the ↵Ruiyu Ni2016-04-061-17/+23
| | | | | | | | | | | | | | | controller handle doesn't support DiskIo2. Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> (based on FatPkg commit 3454cf4f33cb3b71ebc19705a4d49f1ff3715611) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Add the missing EFIAPI keyword to solve build failure in GCC.Ruiyu Ni2016-04-062-0/+2
| | | | | | | | | | | | Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> (based on FatPkg commit accbbb1b8bc3590ba41d57d429bb94d2eca6ef52) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Change Fat driver to support asynchronous File IO introduced in UEFI spec ↵Ruiyu Ni2016-04-0615-76/+839
| | | | | | | | | | | | | | | 2.3.1.D. Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> (based on FatPkg commit 063f6e8a9c263bafd52e1226399fc64d6d721dca) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Please find this patch that makes FatGetCurrentFatTime() always return a ↵Olivier Martin2016-04-061-3/+13
| | | | | | | | | | | | | | | | valid time. Without this patch if gRT->GetTime fails to return the time then some operations on the filesystem could fail. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> (based on FatPkg commit c9429aef66663a27642bdaa3685e8a86f7bc74c7) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Acked-by: Leif Lindholm <leif.lindholm@arm.com>
* InitializeUnicodeCollationSupportWorker mixed the use of Status variable for ↵Star Zeng2016-04-061-4/+5
| | | | | | | | | | | | | | | OpenProtocol and return, it will cause the function to return EFI_SUCCESS even the proper UnicodeCollation is absent. Add ReturnStatus to hold the return status. Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> (based on FatPkg commit c7046d14e7ebbb03282a5225ed43feee7889a9e9) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Zero out CacheBuffer in FatInitializeDiskCache after allocated.Star Zeng2016-04-061-2/+2
| | | | | | | | | | | | | Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> (based on FatPkg commit b67d81497c36565dba57c7cac308b2f47668a60e) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Fix GCC build failure.Eric Dong2016-04-061-1/+1
| | | | | | | | | | | | | Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> (based on FatPkg commit 18d3fbf2bdffad52e0c49972fb1448ce427c4d49) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Replace GetEfiGlobalVariable interface with GetEfiGlobalVariable2.Eric Dong2016-04-061-2/+2
| | | | | | | | | | | | | Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> (based on FatPkg commit 973de2e40bce86e970e4cf0f34e9ef2d5a7d1eb8) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Fix the comments to follow the UEFI Spec regarding how to check an ↵Ruiyu Ni2016-04-061-3/+3
| | | | | | | | | | | | | | | EFI_HANDLE is valid/invalid. Signed-off-by: niruiyu Reviewed-by: lgao4 (based on FatPkg commit 52cae8a00f34e17d414affcc5bbf8dffe51628ca) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Enlarge the buffer to contain file name.Qing Huang2016-04-061-1/+1
| | | | | | | | | | (based on FatPkg commit b65791b9cd034d3b222d2a0c9b071def9bbc7446) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Add some NULL pointer check by using ASSERT()Qing Huang2016-04-061-1/+2
| | | | | | | | | | (based on FatPkg commit a60a7af0891419330e0080f23fd2586ec871f021) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* remove obsoleted .msa and .nspd filesHot Tian2016-04-061-135/+0
| | | | | | | | | | (based on FatPkg commit 9792fbe00e50738cb6247ad1e091de79c49018dc) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Move lock to FAT driver binding start to prevent interrupt during hot plug ↵Qing Huang2016-04-062-21/+24
| | | | | | | | | | | | event. (based on FatPkg commit b449ca31443f754ed2e6998ca32f49547dabd615) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Update copyright notice formatHot Tian2016-04-0623-44/+44
| | | | | | | | | | (based on FatPkg commit 171c4de5919a4638db8f6f472b365ffbbac6070b) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Fix a migration bug in Fat driver as the value of lock has been changed from ↵Qing Huang2016-04-063-15/+17
| | | | | | | | | | | | EDK library to EDKII library (based on FatPkg commit c243d2ce08e76bfaefc0a3e9256603993a3b5ebe) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
* Clean PI_SPECIFICATION_VERSION and EFI_SPECIFICATION_VERSION.Ken Lu2016-04-061-2/+0
| | | | | | | | | | (based on FatPkg commit ed78153ec562e411d3524a9f2de86500f69fef60) [jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Mark Doran <mark.doran@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>