]> git.proxmox.com Git - mirror_edk2.git/log
mirror_edk2.git
8 years agoArmVirtPkg: Convert to build FatPkg from source
Jordan Justen [Wed, 6 Apr 2016 07:05:59 +0000 (00:05 -0700)]
ArmVirtPkg: Convert to build FatPkg from source

Now that FatPkg is open source (and therefore can be included in the
EDK II tree) we build and use it directly.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
8 years agoArmVirtPkg: drop dependency on PeiPcdLib for PEI Pcd.inf
Ard Biesheuvel [Wed, 6 Apr 2016 12:37:21 +0000 (14:37 +0200)]
ArmVirtPkg: drop dependency on PeiPcdLib for PEI Pcd.inf

The PcdPeim dynamic PCD driver is dispatched explicitly via an 'A PRIORI'
declaration in the platform DSC. Without that declaration, the PEI module
can never be dispatched since it transitively (via PeiPcdLib) depends on
a PPI it produces itself. So use the NULL PcdLib explicitly only for
this driver.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
8 years agoArmVirtPkg: drop dependency on DxePcdLib for DXE Pcd.inf
Ard Biesheuvel [Wed, 6 Apr 2016 11:42:28 +0000 (13:42 +0200)]
ArmVirtPkg: drop dependency on DxePcdLib for DXE Pcd.inf

The PcdDxe dynamic PCD driver is dispatched explicitly via an 'A PRIORI'
declaration in the platform DSC. Without that declaration, the DXE driver
can never be dispatched since it transitively (via DxePcdLib) depends on
protocols it produces itself. So use the NULL PcdLib explicitly only for
this driver.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
8 years agoCorebootPayloadPkg: Convert to build FatPkg from source
Justen, Jordan L [Wed, 6 Apr 2016 15:14:55 +0000 (08:14 -0700)]
CorebootPayloadPkg: Convert to build FatPkg from source

Now that FatPkg is open source (and therefore can be included in the
EDK II tree) we build and use it directly.

Note: Build tested with GCC 5.3 on IA32 and IA32+X64.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Prince Agyeman <prince.agyeman@intel.com>
8 years agoIntelFrameworkModulePkg AcpiS3SaveDxe: Remove S3Ready() functional code
Star Zeng [Thu, 7 Apr 2016 10:19:29 +0000 (18:19 +0800)]
IntelFrameworkModulePkg AcpiS3SaveDxe: Remove S3Ready() functional code

The S3Ready() functional code has been moved to S3SaveStateDxe in
MdeModulePkg, the ACPI global variable related code is leaved as is
for compatibility.
PcdS3BootScriptStackSize is also moved to MdeModulePkg.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
8 years agoIntelFrameworkModulePkg AcpiS3SaveDxe: Consume PcdAcpiS3Enable to control the code
Star Zeng [Thu, 7 Apr 2016 10:19:28 +0000 (18:19 +0800)]
IntelFrameworkModulePkg AcpiS3SaveDxe: Consume PcdAcpiS3Enable to control the code

Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
8 years agoOvmfPkg: Retire AcpiS3SaveDxe
Star Zeng [Thu, 7 Apr 2016 10:19:27 +0000 (18:19 +0800)]
OvmfPkg: Retire AcpiS3SaveDxe

The same functional code has been in S3SaveStateDxe,
OVMF AcpiS3SaveDxe can be retired now.

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
8 years agoMdeModulePkg S3SaveStateDxe: Move S3Ready() functional code from AcpiS3SaveDxe
Star Zeng [Thu, 7 Apr 2016 10:19:26 +0000 (18:19 +0800)]
MdeModulePkg S3SaveStateDxe: Move S3Ready() functional code from AcpiS3SaveDxe

The S3Ready() functional code in AcpiS3SaveDxe of IntelFrameworkModulePkg
is to do ACPI S3 Context save. In fact, that is not really related to
Intel framework ACPI S3 protocol.

IntelFrameworkModulePkg will be deprecated step by step, so move the
functional code to MdeModulePkg and S3SaveStateDxe is a good place.
The ACPI global variable related code is leaved as is in IntelFrameworkModulePkg
AcpiS3SaveDxe for compatibility.
PcdS3BootScriptStackSize is also moved from IntelFrameworkModulePkg.

The functional code need to get ACPI FACS table and consume LockBoxLib,
so need to be before DxeSmmReadyToLock that will shut down SMM lock box
interface, EndOfDxe is a good point (OVMF AcpiS3SaveDxe has the reference
implementation).

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
8 years agoMdeModulePkg S3SaveStateDxe: Consume PcdAcpiS3Enable to control the code
Star Zeng [Thu, 7 Apr 2016 10:19:25 +0000 (18:19 +0800)]
MdeModulePkg S3SaveStateDxe: Consume PcdAcpiS3Enable to control the code

Cc: Feng Tian <feng.tian@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
8 years agoOvmfPkg: Install LockBox protocol in constructor of LockBoxDxeLib
Star Zeng [Thu, 7 Apr 2016 10:19:24 +0000 (18:19 +0800)]
OvmfPkg: Install LockBox protocol in constructor of LockBoxDxeLib

Currently, the LockBox protocol is installed in entrypoint of
OVMF AcpiS3SaveDxe.

We can let the first driver run with LockBoxDxeLib linked to have its
library constructor to install LockBox protocol on the ImageHandle.
As other drivers may have gEfiLockBoxProtocolGuid dependency,
the first driver should run before them.

The later patches to retire AcpiS3SaveDxe for OVMF depends on this patch.

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
8 years agoOvmfPkg: Set PcdAcpiS3Enable according to QemuFwCfgS3Enabled()
Star Zeng [Thu, 7 Apr 2016 10:19:23 +0000 (18:19 +0800)]
OvmfPkg: Set PcdAcpiS3Enable according to QemuFwCfgS3Enabled()

Also need to declare PcdAcpiS3Enable as DynamicDefault in *.dsc.

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
8 years agoMdeModulePkg: Introduce new PCD PcdAcpiS3Enable
Star Zeng [Thu, 7 Apr 2016 10:19:22 +0000 (18:19 +0800)]
MdeModulePkg: Introduce new PCD PcdAcpiS3Enable

Platform can configure the PCD statically or dynamically
to control if ACPI S3 will be enabled.
S3 related modules can consume the PCD to control the code.

Cc: Feng Tian <feng.tian@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
8 years agoArmVirtPkg: drop bogus ArmPlatformSecExtraActionLib resolution
Ard Biesheuvel [Thu, 7 Apr 2016 12:10:06 +0000 (14:10 +0200)]
ArmVirtPkg: drop bogus ArmPlatformSecExtraActionLib resolution

Nothing we use on any of the ArmVirtPkg platforms depends on the
ArmPlatformSecExtraActionLib library class, so drop the resolution
from ArmVirt.dsc.inc

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Suggested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
8 years agoArmVirtPkg: remove linux loader from ARM builds
Ard Biesheuvel [Thu, 7 Apr 2016 12:07:00 +0000 (14:07 +0200)]
ArmVirtPkg: remove linux loader from ARM builds

The built in Linux loader was a temporary solution to boot ARM Linux
without EFI support in the OS. Now that EFI support is merged in the
upstream v4.5 release, we no longer need it. So drop it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
8 years agoMerge 2-clause BSD licensed FatPkg
Jordan Justen [Thu, 7 Apr 2016 06:27:37 +0000 (23:27 -0700)]
Merge 2-clause BSD licensed FatPkg

This merges the FatPkg into the EDK II tree with the 2-clause BSD open
source license. A script was used to convert the FatPkg commits while
retaining the history of the FatPkg development.

The following FatPkg commits were dropped because they were empty
after the relicense script was run:

3b073bba550e54ebdd6fbc13cb2cedc74757bac9
b36c76fc3dab6c4a8782406b53a2b5d1134ddfd0
0c9dc3d809b4506f4ffe0d9f23c91deeeb5a4a21

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoFatPkg: Add NOOPT target in FatPkg.dsc
Hao Wu [Mon, 25 Jan 2016 02:30:45 +0000 (02:30 +0000)]
FatPkg: Add NOOPT target in FatPkg.dsc

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
(based on FatPkg commit 278d45c7f6c05cc3443126964677d21bf9e2ee30)

[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>
8 years agoFatPkg EnhancedFatDxe: Use safe string functions
Hao Wu [Mon, 6 Jul 2015 01:41:45 +0000 (01:41 +0000)]
FatPkg EnhancedFatDxe: Use safe string functions

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>
8 years agoFatPkg/FatPei: Fix build error
Feng Tian [Thu, 21 May 2015 07:07:38 +0000 (07:07 +0000)]
FatPkg/FatPei: Fix build error

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
(based on FatPkg commit c20b33e706e0ce7ffd395dd5c48a13aa24ca77fb)

[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>
8 years agoFatPkg: Add RecoveryBlockIo2Ppi support
Feng Tian [Wed, 20 May 2015 05:57:50 +0000 (05:57 +0000)]
FatPkg: Add RecoveryBlockIo2Ppi support

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
(based on FatPkg commit add52adf722d2b0f1db4c8780a30289dacd59e02)

[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>
8 years agoEFI_FILE_PROTOCOL spec conformance bug fix.
Ruiyu Ni [Wed, 28 Jan 2015 08:58:38 +0000 (08:58 +0000)]
EFI_FILE_PROTOCOL spec conformance bug fix.

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>
8 years agoAdd stack protection to ARM architectures. BaseStackCheckLib is now required to build...
Olivier Martin [Wed, 10 Sep 2014 01:32:03 +0000 (01:32 +0000)]
Add stack protection to ARM architectures. BaseStackCheckLib is now required to build on ARM architectures.

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 5ac547632d735ddd3f69898ccf75f88cc205f8b3)

[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>
8 years agoFatPkg: INF/DEC file updates to EDK II packages
Shumin Qiu [Thu, 28 Aug 2014 06:41:40 +0000 (06:41 +0000)]
FatPkg: INF/DEC file updates to EDK II packages

5. Add PACKAGE_UNI_FILE UNI file that contains the localized Abstract and Description of a package and localized strings associated with PCDs.
a. Addresses an information gap between DEC files and the UEFI Distribution Packaging Specification XML schema
b. There will be an associated update to UPT in BaseTools to consume PACKAGE_UNI_FILE and associated UNI file during UDP creation that performs the DEC -> XML conversion.
c. There will be an associated update to UPT in BaseTools to produce PACKAGE_UNI_FILE and associated UNI file during UDP installation that performs the XML -> DEC conversion.

6. Add Package Extra UNI file that provides the localized Name of a package.
a. [UserExtensions.TianoCore."ExtraFiles"] provides an easy method for a package to specify extra files 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 package to go along with the localized Abstract and Description from the PACKAGE_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 406c08cfb70d188c10df1f62fcaca8e92b27d5ff)

[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>
8 years agoFatPkg: INF/DEC file updates to EDK II packages
Shumin Qiu [Thu, 28 Aug 2014 06:41:06 +0000 (06:41 +0000)]
FatPkg: INF/DEC file updates to EDK II packages

4. PCD information in DEC file comment blocks are either incomplete or incorrect.
This includes detailed description, @Prompt, @ValidRange, @ValidList, @Expression, and [Error.<TokenSpaceGuid>] validation error messages.

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 922454602923922bd195a384eac25b873dd304cc)

[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>
8 years agoFatPkg: INF/DEC file updates to EDK II packages
Shumin Qiu [Thu, 28 Aug 2014 06:40:39 +0000 (06:40 +0000)]
FatPkg: INF/DEC file updates to EDK II packages

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>
8 years agoFatPkg: INF/DEC file updates to EDK II packages
Shumin Qiu [Thu, 28 Aug 2014 06:39:53 +0000 (06:39 +0000)]
FatPkg: INF/DEC file updates to EDK II packages

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>
8 years agoFix a potential buffer over flow issue.
Ruiyu Ni [Wed, 13 Aug 2014 07:00:57 +0000 (07:00 +0000)]
Fix a potential buffer over flow issue.

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>
8 years agoRefine code to make it more safely.
Eric Dong [Wed, 25 Jun 2014 05:17:32 +0000 (05:17 +0000)]
Refine code to make it more safely.

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>
8 years agoUpdate FatPkg.dsc copyright year.
Ruiyu Ni [Fri, 10 Jan 2014 07:28:43 +0000 (07:28 +0000)]
Update FatPkg.dsc copyright year.

Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
(based on FatPkg commit ee85fec8de1126934aa66a27eab39aa2b63c3038)

[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>
8 years agoUpdate FatPkg revision from 0.2 to 0.3.
Ruiyu Ni [Fri, 10 Jan 2014 07:17:13 +0000 (07:17 +0000)]
Update FatPkg revision from 0.2 to 0.3.

Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
(based on FatPkg commit f0a12e6d53b36dfa78acd28eeb5221ce9b45ba3a)

[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>
8 years agoFix a bug that prevents Fat driver being unloaded successfully.
Ruiyu Ni [Thu, 9 Jan 2014 08:59:24 +0000 (08:59 +0000)]
Fix a bug that prevents Fat driver being unloaded successfully.

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>
8 years agoRemove the RemoteEntryList() because the Task isn't added to the linked list upon...
Ruiyu Ni [Fri, 29 Nov 2013 02:49:30 +0000 (02:49 +0000)]
Remove the RemoteEntryList() because the Task isn't added to the linked list 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>
8 years agoFix a bug in the Fat Stop() function which may return EFI_NOT_FOUND when the controll...
Ruiyu Ni [Fri, 22 Nov 2013 07:39:02 +0000 (07:39 +0000)]
Fix a bug in the Fat Stop() function which may return EFI_NOT_FOUND when the 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>
8 years agoAdd the missing EFIAPI keyword to solve build failure in GCC.
Ruiyu Ni [Mon, 4 Nov 2013 02:20:37 +0000 (02:20 +0000)]
Add the missing EFIAPI keyword to solve build failure in GCC.

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>
8 years agoChange Fat driver to support asynchronous File IO introduced in UEFI spec 2.3.1.D.
Ruiyu Ni [Wed, 30 Oct 2013 03:13:16 +0000 (03:13 +0000)]
Change Fat driver to support asynchronous File IO introduced in UEFI spec 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>
8 years agoBuild FatPkg for AArch64 platforms.
Olivier Martin [Fri, 19 Jul 2013 01:49:30 +0000 (01:49 +0000)]
Build FatPkg for AArch64 platforms.

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 a952f09e53b2eda00370cd987229083daa496b13)

[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>
8 years agoPlease find this patch that makes FatGetCurrentFatTime() always return a valid time...
Olivier Martin [Fri, 14 Jun 2013 01:58:12 +0000 (01:58 +0000)]
Please find this patch that makes FatGetCurrentFatTime() always return a 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>
8 years agoInitializeUnicodeCollationSupportWorker mixed the use of Status variable for OpenProt...
Star Zeng [Wed, 29 May 2013 09:01:46 +0000 (09:01 +0000)]
InitializeUnicodeCollationSupportWorker mixed the use of Status variable for 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>
8 years ago1. Expand and add null terminate to end of string like function comments said in...
Star Zeng [Tue, 12 Mar 2013 01:51:42 +0000 (01:51 +0000)]
1. Expand and add null terminate to end of string like function comments said in EngFatToStr(), it could fix the randomly failure during recovery to find the correct recovery image for name length = 8.3 case. 2. Skip directory entry with FAT_ATTR_DIRECTORY, not just = FAT_ATTR_DIRECTORY in FatReadNextDirectoryEntry().

Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
(based on FatPkg commit 1cc9454c1223e8177ba3028bdf3fa72b52aacffe)

[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>
8 years agoZero out CacheBuffer in FatInitializeDiskCache after allocated.
Star Zeng [Mon, 24 Dec 2012 02:42:01 +0000 (02:42 +0000)]
Zero out CacheBuffer in FatInitializeDiskCache after allocated.

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>
8 years agoEnable ARM support.
Olivier Martin [Fri, 8 Jun 2012 03:08:32 +0000 (03:08 +0000)]
Enable ARM support.

Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
(based on FatPkg commit dac56596e17d747bf01597edf3f43df5844038de)

[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>
8 years agoFix GCC build failure.
Eric Dong [Thu, 31 May 2012 10:10:29 +0000 (10:10 +0000)]
Fix GCC build failure.

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>
8 years agoReplace GetEfiGlobalVariable interface with GetEfiGlobalVariable2.
Eric Dong [Wed, 30 May 2012 07:52:47 +0000 (07:52 +0000)]
Replace GetEfiGlobalVariable interface with GetEfiGlobalVariable2.

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>
8 years agoUpdate the Package version and obsolete ReadMe.txt.
Ruiyu Ni [Tue, 13 Dec 2011 08:32:11 +0000 (08:32 +0000)]
Update the Package version and obsolete ReadMe.txt.

Signed-off-by: niruiyu
Reviewed-by: hhtian
(based on FatPkg commit aac0302cad3a31e33e1febd57a6d50a7744e7d30)

[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>
8 years agoOnly traverse recovery file's FAT table to fast the recovery performance.
Feng Tian [Tue, 22 Nov 2011 03:01:14 +0000 (03:01 +0000)]
Only traverse recovery file's FAT table to fast the recovery performance.

Signed-off-by: erictian
Reviewed-by: niruiyu
(based on FatPkg commit 6e68a62cf0c6b8ecad2bceff4e8d86ff08d1f041)

[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>
8 years agoFatPkg: Use BasePcdLibNull to prevent PCD dependency
Jordan Justen [Wed, 27 Jul 2011 17:25:45 +0000 (17:25 +0000)]
FatPkg: Use BasePcdLibNull to prevent PCD dependency

When using DxePcdLib or PeiPcdLib, a PCD protocol or
PPI dependency is added.

This dependency should not be required since the FAT
drivers use fixed PCD values.

Signed-off-by: jljusten
Reviewed-by: mdkinney
(based on FatPkg commit b098f260669c4f7856b8cf01fff2bbeb206f22c2)

[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>
8 years agoFix the comments to follow the UEFI Spec regarding how to check an EFI_HANDLE is...
Ruiyu Ni [Tue, 5 Jul 2011 09:12:18 +0000 (09:12 +0000)]
Fix the comments to follow the UEFI Spec regarding how to check an 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>
8 years agoFatPkg: Add FAT PEIM
Jordan Justen [Fri, 1 Jul 2011 00:37:55 +0000 (00:37 +0000)]
FatPkg: Add FAT PEIM

Signed-off-by: jljusten
Reviewed-by: mdkinney
(based on FatPkg commit bead7f219277e063ed28589de8ddd01cf180c1a8)

[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>
8 years agoClean up invalid keywords and missing keywords in [Define] section of DEC file.
Star Zeng [Tue, 28 Jun 2011 02:06:15 +0000 (02:06 +0000)]
Clean up invalid keywords and missing keywords in [Define] section of DEC file.

Signed-off-by: lzeng14
Reviewed-by: lhauch
Reviewed-by: jljusten
(based on FatPkg commit aeddb8b033ee776dc4c0f046bf1fa1f9a1b59938)

[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>
8 years agoUpdate DebugLib to provide support for "err" command in the EFI Shell to adjust the...
Michael D Kinney [Thu, 10 Mar 2011 23:16:26 +0000 (23:16 +0000)]
Update DebugLib to provide support for "err" command in the EFI Shell to adjust the filter mask for DEBUG() messages. The "err" command provide the ability to adjust this filter mask at a global level through an EFI Variable and at the module level through a the Debug Mask Protocol. In order to support the degree of flexibility, the DebugLib needs to use library to abstract the get/set operations to the filter mask.

1) Add default mappings for the DebugPrintErrorLevelLib to the DSC file for this package.

(based on FatPkg commit 98eccd9aafe30880b3a5f285c57501c075693eae)

[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>
8 years agoEnlarge the buffer to contain file name.
Qing Huang [Mon, 16 Aug 2010 00:41:48 +0000 (00:41 +0000)]
Enlarge the buffer to contain file name.

(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>
8 years agoAdd some NULL pointer check by using ASSERT()
Qing Huang [Fri, 13 Aug 2010 03:34:18 +0000 (03:34 +0000)]
Add some NULL pointer check by using ASSERT()

(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>
8 years agoremove obsoleted .msa and .nspd files
Hot Tian [Wed, 12 May 2010 11:58:28 +0000 (11:58 +0000)]
remove obsoleted .msa and .nspd files

(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>
8 years agoMove lock to FAT driver binding start to prevent interrupt during hot plug event.
Qing Huang [Fri, 7 May 2010 03:31:16 +0000 (03:31 +0000)]
Move lock to FAT driver binding start to prevent interrupt during hot plug 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>
8 years agoUpdate copyright notice format
Hot Tian [Mon, 26 Apr 2010 01:24:39 +0000 (01:24 +0000)]
Update copyright notice format

(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>
8 years agoFix a migration bug in Fat driver as the value of lock has been changed from EDK...
Qing Huang [Thu, 18 Mar 2010 01:56:21 +0000 (01:56 +0000)]
Fix a migration bug in Fat driver as the value of lock has been changed from 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>
8 years agoClean PI_SPECIFICATION_VERSION and EFI_SPECIFICATION_VERSION.
Ken Lu [Thu, 25 Feb 2010 17:07:52 +0000 (17:07 +0000)]
Clean PI_SPECIFICATION_VERSION and EFI_SPECIFICATION_VERSION.

(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>
8 years ago1. Correct File header to ## @file 2. Remove unnecessary .common] postfix on section.
Qing Huang [Wed, 24 Feb 2010 02:28:56 +0000 (02:28 +0000)]
1. Correct File header to ## @file 2. Remove unnecessary .common] postfix on section.

(based on FatPkg commit 0b03da893fb583773510980b970364b87a27496b)

[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>
8 years agoUpdate license header
Qing Huang [Mon, 8 Feb 2010 03:23:03 +0000 (03:23 +0000)]
Update license header

(based on FatPkg commit 4b21ee5e90e1b9b2e0cf176971c344261645d37d)

[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>
8 years agoFix a warning issue with ARMCC.
Andrew Fish [Sun, 17 Jan 2010 04:44:59 +0000 (04:44 +0000)]
Fix a warning issue with ARMCC.

(based on FatPkg commit 5613b9c6a6fdf762ef26f30f22ecabc487e22eb4)

[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>
Reviewed-by: Andrew Fish <afish@apple.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
8 years agoFix bug in Unicode colloation that causes ASSERT on BeagleBoard. PlatformLang or...
Andrew Fish [Tue, 15 Dec 2009 22:15:22 +0000 (22:15 +0000)]
Fix bug in Unicode colloation that causes ASSERT on BeagleBoard. PlatformLang or Lang variables are not processed correctly. NULL pointer is passed if no variable exists.

(based on FatPkg commit 0e3c94b9ac164caf705cc512a0e865fa0811b531)

[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>
Reviewed-by: Andrew Fish <afish@apple.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
8 years agoFix warning generated by GCC.
Jordan Justen [Fri, 2 Oct 2009 06:40:01 +0000 (06:40 +0000)]
Fix warning generated by GCC.

These warnings seem to have been triggered by the recent change of
EFI_STATUS from INTN to UINTN.

(based on FatPkg commit c573d39c2a5627b44826d6f656452e8d097c97ff)

[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>
8 years agoUse EFI_FILE_PROTOCOL naming in place of EFI_FILE
Qing Huang [Tue, 22 Sep 2009 02:48:17 +0000 (02:48 +0000)]
Use EFI_FILE_PROTOCOL naming in place of EFI_FILE

(based on FatPkg commit 9f5ac6912eb71e9037fe05b8bd6bf02b5cee5ac6)

[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>
8 years ago1. FAT doesn't support to store time information in its FileLastAccess field. The...
Kun Gui [Mon, 8 Jun 2009 07:59:04 +0000 (07:59 +0000)]
1. FAT doesn't support to store time information in its FileLastAccess field. The FileLastAccess only contains date information; 2. Replaced RFC 3066 with RFC 4646.

(based on FatPkg commit 716b62054bf10b74949795a3df0d29eaca5a7486)

[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>
8 years agogEfiFatPkgTokenSpaceGuid.PcdUnicodeCollationSupport and gEfiFatPkgTokenSpaceGuid...
Qing Huang [Wed, 8 Apr 2009 07:36:44 +0000 (07:36 +0000)]
gEfiFatPkgTokenSpaceGuid.PcdUnicodeCollationSupport and gEfiFatPkgTokenSpaceGuid.PcdUnicodeCollationSupport

(based on FatPkg commit d865610b1f37a1ab84982151c1b1255cd51d1489)

[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>
8 years agoRefactor to invoke only one GetBestLanguage()
Qing Huang [Wed, 25 Mar 2009 08:40:00 +0000 (08:40 +0000)]
Refactor to invoke only one GetBestLanguage()

(based on FatPkg commit 25e83a4e8906ef80e428b7c446216faa1ba9e2a7)

[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>
8 years agoApply GetBestLanguage() UefiLib to initialize Unicode Collation Protocol.
Qing Huang [Tue, 24 Mar 2009 14:19:12 +0000 (14:19 +0000)]
Apply GetBestLanguage() UefiLib to initialize Unicode Collation Protocol.

(based on FatPkg commit 63726907ef8f40b3ffea8aab464d133fa06f1e67)

[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>
8 years agoFix a spec conformance issue that "Attributes" should only be checked when OpenMode...
Qing Huang [Tue, 24 Mar 2009 13:56:38 +0000 (13:56 +0000)]
Fix a spec conformance issue that "Attributes" should only be checked when OpenMode is Create.

(based on FatPkg commit 4a3fecc5dc09ff6da448ffcf57e6a24fbca442f9)

[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>
8 years agoAdd comments in DSC files to explain the function and design of components section.
Leon Li [Tue, 10 Feb 2009 08:56:09 +0000 (08:56 +0000)]
Add comments in DSC files to explain the function and design of components section.

(based on FatPkg commit d3768aeea6829c1313f5b228399475ca9233ad2a)

[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>
8 years agoRemoved unused library instances for FAT package DSC file
Qing Huang [Sun, 1 Feb 2009 03:27:09 +0000 (03:27 +0000)]
Removed unused library instances for FAT package DSC file

(based on FatPkg commit ee748ff531258c84282ee6bff27278a7218a96bd)

[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>
8 years agoSplit out Synchronization Library from Base Library
Michael D Kinney [Fri, 30 Jan 2009 00:37:36 +0000 (00:37 +0000)]
Split out Synchronization Library from Base Library

(based on FatPkg commit 208bfe57ec2113fa1d9c79e029762250497bf0b0)

[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>
8 years agoFix the build error caused by recent MdePkg clean up
Qing Huang [Sun, 4 Jan 2009 03:50:43 +0000 (03:50 +0000)]
Fix the build error caused by recent MdePkg clean up

(based on FatPkg commit 89452d777f567e38fb24569dbda2477a05bbcd70)

[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>
8 years agoClean up to update the reference of the these macros: EFI_SIGNATURE_16 -> SIGNATURE_1...
Qing Huang [Tue, 16 Dec 2008 15:18:27 +0000 (15:18 +0000)]
Clean up to update the reference of the these macros: EFI_SIGNATURE_16 -> SIGNATURE_16 EFI_SIGNATURE_32 -> SIGNATURE_32 EFI_SIGNATURE_64 -> SIGNATURE_64 EFI_FIELD_OFFSET -> OFFSET_OF EFI_MAX_BIT -> MAX_BIT EFI_MAX_ADDRESS -> MAX_ADDRESS These macros are not defined in UEFI spec. It makes more sense to use the equivalent macros in Base.h to avoid alias.

(based on FatPkg commit 80c742a0be4426f9431ef6541268413e0b139368)

[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>
8 years agoUpdate for library instance renaming Fix typo in token space GUID
Qing Huang [Thu, 6 Nov 2008 01:37:08 +0000 (01:37 +0000)]
Update for library instance renaming Fix typo in token space GUID

(based on FatPkg commit eedcfacbfb6cae77d3c3da35f05a71f3118e824f)

[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>
8 years agoAdd details comments for the code flow to initialize Unicode Collation (2) support.
Qing Huang [Fri, 10 Oct 2008 02:33:21 +0000 (02:33 +0000)]
Add details comments for the code flow to initialize Unicode Collation (2) support.

(based on FatPkg commit 824fb80c85dfcb97662b8807c075c6cf7113b521)

[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>
8 years agoDe-unicode in comment for source files.
Qing Huang [Tue, 27 May 2008 02:51:43 +0000 (02:51 +0000)]
De-unicode in comment for source files.

(based on FatPkg commit ea0ebff7f3afd5808da4fc6bcdd996a8fc977185)

[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>
8 years agoFix a typo when checking the 16-bit alignment of Unicode String.
Qing Huang [Mon, 5 May 2008 07:06:57 +0000 (07:06 +0000)]
Fix a typo when checking the 16-bit alignment of Unicode String.

(based on FatPkg commit 603a10ca818a089b8af594e0f1ef7e1a3e42d938)

[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>
8 years agoFix undefined format in debug print statement.
Qing Huang [Mon, 5 May 2008 07:05:20 +0000 (07:05 +0000)]
Fix undefined format in debug print statement.

(based on FatPkg commit 407f91e8e23d2ab05bb1f0022974eacc267bb6f1)

[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>
8 years agoAdd preparation for FAR release.
Qing Huang [Fri, 21 Dec 2007 03:27:26 +0000 (03:27 +0000)]
Add preparation for FAR release.

(based on FatPkg commit 231d94be998ca1c72f23d2ac6cd5238e9afdc886)

[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>
8 years agoAdd EDK II Prime FatPkg New Feature: Support both Unicode Collation and Unicode Colla...
Qing Huang [Thu, 20 Dec 2007 09:16:45 +0000 (09:16 +0000)]
Add EDK II Prime FatPkg New Feature: Support both Unicode Collation and Unicode Collation 2 Protocols Support both Component Name and Component Name 2 Protocol.

(based on FatPkg commit e51cd032db84a6fb1f44a0605f80d96f5fdf4bc6)

[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>
8 years agoBaseTools: Add support to merge Prebuild and Postbuild into build Process
Yonghong Zhu [Thu, 31 Mar 2016 06:05:59 +0000 (14:05 +0800)]
BaseTools: Add support to merge Prebuild and Postbuild into build Process

This feature is enhance build tool to incorporate execution of prebuild
and postbuild.

1.Prebuild script
a.DEFINE PREBUILD in DSC [Defines] section
b.Build command -D PREBUILD to override the one in DSC [Defines] section
1)If PREBUILD is a file, then this file will be used as prebuild script.
2)If PREBUILD is empty, then prebuild script will be disabled.
3)If PREBUILD is not defined in [Defines] section and not passed in on
command line, then prebuild script is also disabled.

2.Prebuild option
a.All options of build tool
b.TARGET, ARCH and TOOL_CHAIN_TAG value, Those value will be from
target.txt file if they are not in build command line.
c.Additional options following prebuild definition. Quotes are needed
when these additional options are present.
d.Quotes would also be required if the path to the prebuild command
contains space or special characters.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
8 years agoBaseTools: Enhance --Pcd which override by build option
Yonghong Zhu [Tue, 5 Apr 2016 04:29:32 +0000 (12:29 +0800)]
BaseTools: Enhance --Pcd which override by build option

This patch 1) enhance the help info for --pcd to use " but not '.
2) Add the condition statements for build option Pcd type check.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
8 years agoMdeModulePkg/Bds: Fix build failures of VS tool chain
Ruiyu Ni [Thu, 7 Apr 2016 02:13:39 +0000 (10:13 +0800)]
MdeModulePkg/Bds: Fix build failures of VS tool chain

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Sunny Wang <sunnywang@hpe.com>
8 years agoOvmfPkg: disable PcdHiiOsRuntimeSupport
Laszlo Ersek [Thu, 10 Mar 2016 23:07:16 +0000 (00:07 +0100)]
OvmfPkg: disable PcdHiiOsRuntimeSupport

Edk2 commit 8a45f80edad4 ("MdeModulePkg: Make HII configuration settings
available to OS runtime") implements the optional UEFI feature described
in "31.2.11.1 OS Runtime Utilization" in UEFI v2.6.

While this feature might show benefits down the road even in QEMU virtual
machines, at the moment it only presents drawbacks:
- it increases the EfiRuntimeServicesData footprint,
- it triggers HII compatibility problems between edk2 and external drivers
  unconditionally, even if the end-user is not interested in HII and/or in
  configuring said drivers (see
  <https://www.redhat.com/archives/vfio-users/2016-March/msg00153.html>
  and <http://thread.gmane.org/gmane.comp.bios.edk2.devel/9894> for an
  example).

While the feature was being introduced, popular demand for a controlling
Feature PCD rose (see
<http://thread.gmane.org/gmane.comp.bios.edk2.devel/7626>), which is why
we can set it now to FALSE.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: remove PcdMaxHardwareErrorVariableSize from the DSC files
Laszlo Ersek [Fri, 25 Mar 2016 10:43:09 +0000 (11:43 +0100)]
OvmfPkg: remove PcdMaxHardwareErrorVariableSize from the DSC files

PcdMaxHardwareErrorVariableSize sets the size limit for individual
Hardware Error Record Variables (see "7.2.3 Hardware Error Record
Persistence" and "Appendix P, Hardware Error Record Persistence Usage" in
the UEFI-2.6 spec).

Since Hardware Error Record Persistence is an optional firmware feature,
according to the spec, and OVMF does not enable it -- it inherits
PcdHwErrStorageSize and PcdHardwareErrorRecordLevel with zero values --,
the PcdMaxHardwareErrorVariableSize setting in our DSC files has no
effect. Remove it in order to eliminate future confusion.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Suggested-by: Star Zeng <star.zeng@intel.com>
Ref: http://thread.gmane.org/gmane.comp.bios.edk2.devel/9743/focus=9780
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoArmVirtPkg: include Virtio10Dxe from OvmfPkg
Laszlo Ersek [Sat, 12 Mar 2016 17:05:05 +0000 (18:05 +0100)]
ArmVirtPkg: include Virtio10Dxe from OvmfPkg

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: include Virtio10Dxe
Laszlo Ersek [Sat, 12 Mar 2016 17:03:33 +0000 (18:03 +0100)]
OvmfPkg: include Virtio10Dxe

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: Virtio10Dxe: non-transitional driver for virtio-1.0 PCI devices
Laszlo Ersek [Fri, 11 Mar 2016 23:11:55 +0000 (00:11 +0100)]
OvmfPkg: Virtio10Dxe: non-transitional driver for virtio-1.0 PCI devices

This driver implements the VIRTIO_DEVICE_PROTOCOL for non-transitional PCI
devices, based on the virtio-1.0 specification (csprd05). Non-transitional
means that it only binds QEMU's virtio-xxx-pci devices that receive the
",disable-legacy=on,disable-modern=off" properties on the QEMU command
line. These devices have distinct PCI Device IDs from those that are bound
by VirtioPciDeviceDxe.

The central abstraction of this driver is the VIRTIO_1_0_CONFIG type. It
is practically a "fat pointer" to a register block. The pointed-to
register block
- may or may not exist (the latter being mostly useful for virtio-1.0
  devices that have no device-specific registers),
- lives in one of the device's BARs,
- lives in an IO or MMIO BAR,
- lives at an offset relative to the BAR start,
- has its size also maintained.

Such VIRTIO_1_0_CONFIG "fat pointers" (i.e., the locations of the register
blocks) are parsed from vendor capabilities that reside in the device's
standard PCI capabilities list (in PCI config space).

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: VirtioNetDxe: adapt virtio-net packet header size to virtio-1.0
Laszlo Ersek [Sun, 13 Mar 2016 00:51:29 +0000 (01:51 +0100)]
OvmfPkg: VirtioNetDxe: adapt virtio-net packet header size to virtio-1.0

In virtio-0.9.5, the size of the virtio-net packet header depends on
whether the VIRTIO_NET_F_MRG_RXBUF feature is negotiated -- the
"num_buffers" field is only appended to the header if the feature is
negotiated.

Since we never negotiate this feature, VirtioNetDxe never allocates room
for the "num_buffers" field.

With virtio-1.0, the "num_buffers" field is always there (although it
doesn't carry useful information without VIRTIO_NET_F_MRG_RXBUF). Adapt
the buffers that depend on the virtio-net header size (otherwise we have
skewed / truncated packets).

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: VirtioScsiDxe: adapt feature negotiation to virtio-1.0
Laszlo Ersek [Sat, 12 Mar 2016 13:41:26 +0000 (14:41 +0100)]
OvmfPkg: VirtioScsiDxe: adapt feature negotiation to virtio-1.0

Relative to virtio-0.9.5, virtio-1.0 reverses the order of queue discovery
and feature negotiation. In virtio-1.0, feature negotiation has to
complete first, and the device can also reject a self-inconsistent feature
request through the new VSTAT_FEATURES_OK status bit. (For example if the
driver requests a higher level feature but clears a prerequisite feature.)

Furthermore, we retain the VIRTIO_F_VERSION_1 feature bit if the
VIRTIO_DEVICE_PROTOCOL provider has high enough revision.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: VirtioRngDxe: adapt feature negotiation to virtio-1.0
Laszlo Ersek [Sat, 12 Mar 2016 13:41:26 +0000 (14:41 +0100)]
OvmfPkg: VirtioRngDxe: adapt feature negotiation to virtio-1.0

Relative to virtio-0.9.5, virtio-1.0 reverses the order of queue discovery
and feature negotiation. In virtio-1.0, feature negotiation has to
complete first, and the device can also reject a self-inconsistent feature
request through the new VSTAT_FEATURES_OK status bit. (For example if the
driver requests a higher level feature but clears a prerequisite feature.)

Furthermore, we retain the VIRTIO_F_VERSION_1 feature bit if the
VIRTIO_DEVICE_PROTOCOL provider has high enough revision.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: VirtioNetDxe: adapt feature negotiation to virtio-1.0
Laszlo Ersek [Sat, 12 Mar 2016 13:41:26 +0000 (14:41 +0100)]
OvmfPkg: VirtioNetDxe: adapt feature negotiation to virtio-1.0

Relative to virtio-0.9.5, virtio-1.0 reverses the order of queue discovery
and feature negotiation. In virtio-1.0, feature negotiation has to
complete first, and the device can also reject a self-inconsistent feature
request through the new VSTAT_FEATURES_OK status bit. (For example if the
driver requests a higher level feature but clears a prerequisite feature.)

Furthermore, we retain the VIRTIO_F_VERSION_1 feature bit if the
VIRTIO_DEVICE_PROTOCOL provider has high enough revision.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: VirtioBlkDxe: adapt feature negotiation to virtio-1.0
Laszlo Ersek [Sat, 12 Mar 2016 13:41:26 +0000 (14:41 +0100)]
OvmfPkg: VirtioBlkDxe: adapt feature negotiation to virtio-1.0

Relative to virtio-0.9.5, virtio-1.0 reverses the order of queue discovery
and feature negotiation. In virtio-1.0, feature negotiation has to
complete first, and the device can also reject a self-inconsistent feature
request through the new VSTAT_FEATURES_OK status bit. (For example if the
driver requests a higher level feature but clears a prerequisite feature.)

Furthermore, we retain the VIRTIO_F_VERSION_1 feature bit if the
VIRTIO_DEVICE_PROTOCOL provider has high enough revision.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: VirtioLib: add Virtio10WriteFeatures() function
Laszlo Ersek [Sat, 12 Mar 2016 19:37:42 +0000 (20:37 +0100)]
OvmfPkg: VirtioLib: add Virtio10WriteFeatures() function

In VirtIo 1.0, a device can reject a self-inconsistent feature bitmap
through the new VSTAT_FEATURES_OK status bit. (For example if the driver
requests a higher level feature but clears a prerequisite feature.) This
function is a small wrapper around
VIRTIO_DEVICE_PROTOCOL.SetGuestFeatures() that also verifies if the VirtIo
1.0 device accepts the feature bitmap.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: IndustryStandard: add definitions from the VirtIo 1.0 spec
Laszlo Ersek [Fri, 11 Mar 2016 19:51:12 +0000 (20:51 +0100)]
OvmfPkg: IndustryStandard: add definitions from the VirtIo 1.0 spec

These header files are intentionally minimal, and intentionally kept apart
from the VirtIo 0.9.5 headers.

The header inclusion chains end up like this (the Virtio10*.h header files
in the middle are new):

  Virtio.h    -> Virtio10.h    -> Virtio095.h

                     ^                 ^
                     |                 |

  VirtioNet.h -> Virtio10Net.h -> Virtio095Net.h

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: IndustryStandard: factor out Virtio095Net.h
Laszlo Ersek [Wed, 6 Apr 2016 08:29:00 +0000 (10:29 +0200)]
OvmfPkg: IndustryStandard: factor out Virtio095Net.h

In the upcoming virtio-1.0 series, we'll introduce "Virtio10Net.h".
However, the "VirtioNet.h" header file should continue to expose the
Virtio Network Device specific type and macro definitions for all virtio
versions that OvmfPkg supports. Therefore extract "Virtio095Net.h" like
this:

  VirtioNet.h -> Virtio095Net.h

so that in the upcoming patches, we can insert "Virtio10Net.h" in the
middle of the inclusion chain.

This follows the example of "Acpi.h" and "Pci.h" under
"MdePkg/Include/IndustryStandard".

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Suggested-by: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: IndustryStandard: factor out Virtio095.h
Laszlo Ersek [Wed, 6 Apr 2016 08:29:00 +0000 (10:29 +0200)]
OvmfPkg: IndustryStandard: factor out Virtio095.h

In the upcoming virtio-1.0 series, we'll introduce "Virtio10.h". However,
the "Virtio.h" header file should continue to expose the generic type and
macro definitions for all virtio versions that OvmfPkg supports. Therefore
extract "Virtio095.h" like this:

  Virtio.h -> Virtio095.h

so that in the upcoming patches, we can insert "Virtio10.h" in the middle
of the inclusion chain.

This follows the example of "Acpi.h" and "Pci.h" under
"MdePkg/Include/IndustryStandard".

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Suggested-by: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: VirtioRngDxe: clear all feature bits more explicitly
Laszlo Ersek [Sat, 12 Mar 2016 00:54:57 +0000 (01:54 +0100)]
OvmfPkg: VirtioRngDxe: clear all feature bits more explicitly

This too is in preparation for the following patches.

After this patch, all four drivers manage their feature bits with explicit
masking.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: VirtioBlkDxe: don't clear non-negotiable feature bits
Laszlo Ersek [Sat, 12 Mar 2016 00:47:04 +0000 (01:47 +0100)]
OvmfPkg: VirtioBlkDxe: don't clear non-negotiable feature bits

VirtioBlkDxe only recognizes virtio-block feature bits that the device
offers non-negotiably. Nonetheless, in preparation for the following
patches, don't try to clear them even for simplicity.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: VIRTIO_DEVICE_PROTOCOL: pass VRING object to SetQueueAddress()
Laszlo Ersek [Sat, 12 Mar 2016 02:39:00 +0000 (03:39 +0100)]
OvmfPkg: VIRTIO_DEVICE_PROTOCOL: pass VRING object to SetQueueAddress()

In virtio-1.0, it is not enough to pass the base address of the virtio
queue to the hypervisor (as a frame number); instead it will want the
addresses of the descriptor table, the available ring, and the used ring
separately. Pass the VRING object to the SetQueueAddress() member
function; this will enable a virtio-1.0 implementation. Convert the
current producers and consumers to this prototype.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
8 years agoOvmfPkg: VIRTIO_DEVICE_PROTOCOL: remove GetQueueAddress() member
Laszlo Ersek [Sat, 12 Mar 2016 02:00:30 +0000 (03:00 +0100)]
OvmfPkg: VIRTIO_DEVICE_PROTOCOL: remove GetQueueAddress() member

This function was never consumed by drivers, and the current prototype is
unsupportable with virtio-1.0. Remove the function from the protocol
definition, and drop the current (unused) implementations.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>