Laszlo Ersek [Mon, 8 Jun 2015 22:00:36 +0000 (22:00 +0000)]
ArmVirtPkg: add "Contributions.txt" and "License.txt"
Both files originate from ArmPlatformPkg.
The copyright notices at the top of "License.txt" have been refreshed as
follows:
- I grepped ArmVirtPkg for "copyright", case-insensitively
- for each copyright holder company, I unified the intervals to the
strictest superset (no absent year was introduced in this process)
- I listed the copyright notices in decreasing order of last contribution
year.
- When a "last contribution year" was shared by several notices, I sorted
those between each other in descending "first contribution year" order.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Olivier Martin <olivier.martin@arm.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com>
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17582 6f19259b-4bc3-4df7-8a09-765794883524
Liming Gao [Mon, 8 Jun 2015 09:44:01 +0000 (09:44 +0000)]
BaseTools: Update GenFds to handle file type Ffs Rule
Ffs Rule can specify a file type instead of specific file name. GenFds
should search Binary sections of module INF file and output directory
of the module to find all matched file with the specific file type.
Current GenFds only considers the final output target file. This patch
applies the above rule to match output file with the specific file type.
Heyi Guo [Mon, 8 Jun 2015 09:24:31 +0000 (09:24 +0000)]
MdeModulePkg: Fix bug of AllocatePages for large alignment
DescEnd will be clipped for alignment in CoreFindFreePagesI, and it
may fall below DescStart, when alignment is more than 16KB (included)
and both DescStart and original DescEnd fall into a single range of
such alignment. This results in a huge size (Negative number in
unsigned type) for this descriptor, fulfilling the allocation
requirement but failing to run ConvertPages; at last it causes
occasional failure of AllocatePages.
A simple comparison is added to ensure we would never get a negative
number.
Jeff Fan [Mon, 8 Jun 2015 06:36:41 +0000 (06:36 +0000)]
SourceLevelDebugPkg/DebugAgent: Disable Debug Timer as early
InitializeApicTimer() will enable Local APIC timer interrupt. Even though we
disable CPU interrupt at the beginning and enable CPU Interrupt after debug
agent initialized completely, some Boot Service may invoke RestoreTpl () which
may enable CPU interrupt.
We should disable Local APIC timer in InitializeDebugTimer () to avoid Debug
Timer interrupt happens during debug port and debug agent initialization phase.
And enable Debug Timer interrupt after debug agent is initialized.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17572 6f19259b-4bc3-4df7-8a09-765794883524
Star Zeng [Thu, 4 Jun 2015 13:16:18 +0000 (13:16 +0000)]
MdeModulePkg DxeSmmPerformanceLib: Cover no SMM performance data case.
1. Continue to get performance data by Performance Protocol
when no SMM performance data found.
2. Not try to get SMM performance data again
if no SMM performance handler found.
3. Correct typo 'totol' and 'guage'.
Strangely enough, the allocation count of 20,000 pages for BS_Data
does not result in those regions being merged. For BS_Code, RT_Code
and RT_Data, the increased preallocation results in the following
reduction in the number of regions.
Maurice Ma [Wed, 3 Jun 2015 02:44:28 +0000 (02:44 +0000)]
CorebootModulePkg/CbSupportPei: Mask off all legacy 8259 interrupt sources
The current coreboot UEFI payload has an assumption that all interrupt
sources should be masked off before transferring control to the payload.
However, it is not the case on some platforms, such as QEMU. It will
cause boot failure due to unexpected pending interrupt in the payload.
To resolve it all legacy 8259 interrupt sources need to be masked
piror to the DXE phase. The fix was tested on QEMU virtual platform.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma <maurice.ma@intel.com> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17550 6f19259b-4bc3-4df7-8a09-765794883524
Ma, Maurice [Tue, 2 Jun 2015 14:02:39 +0000 (14:02 +0000)]
IntelFspPkg/GenCfgOpt tool add embed structure.
The EMBED command allows you to put one or more UPD data into a specify data structure.
You can utilize it as a group of UPD for example.
You must specify a start and an end for the specify data structure.
Example:
!HDR EMBED:{MY_DATA_STRUCT:MyDataStructure:START}
gTokenSpaceGuid.Upd1 | 0x0020 | 0x01 | 0x00
gTokenSpaceGuid.Upd2 | 0x0021 | 0x01 | 0x00
!HDR EMBED:{MY_DATA_STRUCT:MyDataStructure:END}
gTokenSpaceGuid.UpdN | 0x0022 | 0x01 | 0x00
Result:
typedef struct {
/** Offset 0x0020
**/
UINT8 Upd1;
/** Offset 0x0021
**/
UINT8 Upd2;
/** Offset 0x0022
**/
UINT8 UpdN;
} MY_DATA_STRUCT;
Star Zeng [Tue, 2 Jun 2015 10:20:13 +0000 (10:20 +0000)]
MdeModulepkg DxeSmmPerformanceLib: Dump all PEI/DXE/SMM performance data.
For boot performance dump, as current behavior.
It depends on which PerformanceLib instance the DP application linked to.
For example, if DxePerfrmanceLib(MdeModulePkg\Library\DxePerformanceLib)
got linked, it will try to dump PEI and DXE performance data; and if
DxeSmmPerfrmanceLib(MdeModulePkg\Library\DxeSmmPerformanceLib)
got linked, then SMM performance data are expected.
It has burden and confusion to developers about the DP application need to be linked to
different PerformanceLib instance in *.dsc and rebuilt for the performance data dump.
Jordan Justen [Mon, 1 Jun 2015 23:21:00 +0000 (23:21 +0000)]
BaseTools/Conf: Don't support upper case nasm extensions
For *.asm and *.s, there have been cases of *.Asm and *.S files, but
since the nasm extensions are new, we don't need to support the upper
case extensions.
Star Zeng [Sun, 31 May 2015 01:55:43 +0000 (01:55 +0000)]
MdeModulePkg: Move ACPI default PCDs to support PCD dynamic.
Move ACPI default PCDs
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision
from [PcdsFixedAtBuild, PcdsPatchableInModule] to
[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
to cover some platforms want to update them at boot time.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17542 6f19259b-4bc3-4df7-8a09-765794883524
Heyi Guo [Wed, 27 May 2015 15:11:19 +0000 (15:11 +0000)]
EmbeddedPkg: Fix Ebl dumpgcd bug with memory type and IO type
1. Data type for GcdMemoryType and GcdIoType is enumeration type
rather than bit field, so we need to use strict equation "=="
instead of bit-and "&";
2. Testing for GcdIoType should use EfiGcdIoType*** constants
rather than EfiGcdMemoryType***;
3. As we are going to use strict equation, it is clearer to use
switch-case than if-else.
Heyi Guo [Wed, 27 May 2015 15:10:10 +0000 (15:10 +0000)]
ArmPkg: Expand AArch64 address width to 48 bits
The VA address space has a maximum address width of 48 bits in
AArch64 state; 48 bits address width limit will provide better
compatibility than 40 bits for future CPU.
Ruiyu Ni [Wed, 27 May 2015 01:22:13 +0000 (01:22 +0000)]
MdeModulePkg: Fix PciBus hang issue
LocatePciExpressCapabilityRegBlock () doesn't check the return status of Pci.Read().
Certain platform's PciRootBridge.Pci.Read() doesn't support PCIE access causing the CapabilityEntry not updated.
If the uninitialized CapabilityEntry equals to a big enough initial value, the while-loop will never end.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Maurice Ma <maurice.ma@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17513 6f19259b-4bc3-4df7-8a09-765794883524
Dandan Bi [Tue, 26 May 2015 11:43:18 +0000 (11:43 +0000)]
MdeModulePkg:fix browser not call EFI_BROWSER_ACTION_CHANGED
fix bellow bug:
change checkbox from FALSE to TRUE.EFI_BROWSER_ACTION_CHANGED called
but when checkbox change back to FALSE,don't call EFI_BROWSER_ACTION_CHANGED
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17512 6f19259b-4bc3-4df7-8a09-765794883524
Yingke Liu [Tue, 26 May 2015 10:32:47 +0000 (10:32 +0000)]
BaseTools: Add default BuildRuleOrder in tools_def.template
*_*_*_*_BUILDRULEORDER = nasm Nasm NASM asm Asm ASM S s
*_XCODE32_*_*_BUILDRULEORDER = S s nasm Nasm NASM
*_XCLANG_*_*_BUILDRULEORDER = S s nasm Nasm NASM
*_XCODE5_*_*_BUILDRULEORDER = S s nasm Nasm NASM
Tool Chain in Mac Os will use S as the first priority. Other tool chains
use nasm as the first priority.
Yingke Liu [Tue, 26 May 2015 10:32:07 +0000 (10:32 +0000)]
BaseTools: Implement BUILDRULEORDER for tools_def
This feature allows the toolchain to choose a preference for source file
extensions in tools_def.txt. The first extension is given the highest priority.
Here is an example usage for tools_def.txt:
*_*_*_*_BUILDRULEORDER = nasm Nasm NASM asm Asm ASM S s
*_XCODE5_*_*_BUILDRULEORDER = S s nasm Nasm NASM
Now, if a .inf lists these sources: 1.nasm, 1.asm and 1.S
All toolchains, except XCODE5 will use the 1.nasm file. The XCODE5
toolchain will use the 1.S file.
Note that the build_rule.txt file also impacts the decision, because,
for instance there is no build rule for .asm files on GCC toolchains.
Ruiyu Ni [Tue, 26 May 2015 03:24:20 +0000 (03:24 +0000)]
MdePkg: Move SIO header files to MdePkg.
A previous incorrect check-in adds the SIO header files to <Root>/Include directory.
The patch fixes it.
The patch also adds the missing PeiServices pointer to the SIO PPI interfaces.
Ruiyu Ni [Tue, 26 May 2015 02:48:42 +0000 (02:48 +0000)]
MdeModulePkg: Add IsaBusDxe driver
This driver follows UEFI driver model and layers on ISA HC protocol defined in PI spec 1.2.1.
It consumes the ISA Host Controller protocol produced by the ISA Host Controller and installs the ISA Host Controller Service Binding protocol on the ISA Host Controller's handle.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17504 6f19259b-4bc3-4df7-8a09-765794883524
Jeff Fan [Mon, 25 May 2015 02:46:11 +0000 (02:46 +0000)]
SourceLevelDebugPkg/SmmDebugAgent: Initialize Local APIC Timer
Now Debug Agent library uses Local APIC Timer to implement time-out mechanism.
In SMM, SMM BSP maybe not be the one in DXE phase, its local APIC timer may not
work. This fix is to initialize Local APIC timer if it doesn't work as expected
at SMM entry.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17500 6f19259b-4bc3-4df7-8a09-765794883524
Feng Tian [Fri, 22 May 2015 06:53:44 +0000 (06:53 +0000)]
MdeModulePkg/AtaAtapiPassThruDxe: Support 4K bytes block size HDDs
The original code hard-codes block size to 512. But after ATA 7 spec,
the non-512 block size is also supported. The code is updated to
dynamically calculate the block size according to IDENTIFY data.
Dandan Bi [Thu, 21 May 2015 07:58:12 +0000 (07:58 +0000)]
Remove Framework HII "class\subclass" in all VFR
class/subclass is the obseleted key word in VFR file. It is designed in framework HII.
After convert to UEFI HII, it is not used any longer. Now remove them from VFR
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17493 6f19259b-4bc3-4df7-8a09-765794883524
Hao Wu [Thu, 21 May 2015 01:46:31 +0000 (01:46 +0000)]
MdePkg: Resolve type mismatch in node/text conversion for Wifi device
Function DevPathFromTextWiFi() in use UINT8* and CHAR8* interchangeably,
which breaks the build on ARM. Pointer type conversion is added to
resolved this problem.
Guo Dong [Wed, 20 May 2015 08:32:55 +0000 (08:32 +0000)]
CorebootModulePkg/CbParseLib: Coding style update
This patch update file CbParseLib.c to make it consistent with EDKII coding style:
1) Add function comments.
2) Add {} for if statement.
3) Compare with NULL for pointer and compare with 0 for integer instead of using them like a BOOLEAN.
4) For debug information only, use EFI_D_INFO instead of EFI_D_ERROR
5) Correct IN, OUT modifier
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Dong <guo.dong@intel.com> Reviewed-by: Maurice Ma <maurice.ma@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17487 6f19259b-4bc3-4df7-8a09-765794883524