mirror_edk2.git
7 years agoBaseTools: Actually plug in BaseTools build on AArch64
Leif Lindholm [Wed, 24 Sep 2014 21:07:53 +0000 (21:07 +0000)]
BaseTools: Actually plug in BaseTools build on AArch64

Support for building BaseTools on AArch64 is available in the tree, but
not currently "plugged in". This patch adds the required snippet.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16169 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoEnhance TargetName check when save iSCSI configuration.
Ye Ting [Wed, 24 Sep 2014 09:35:54 +0000 (09:35 +0000)]
Enhance TargetName check when save iSCSI configuration.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Wu, Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Fu, Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16168 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoEnhance TargetName check when save iSCSI configuration.
Ye Ting [Wed, 24 Sep 2014 09:35:32 +0000 (09:35 +0000)]
Enhance TargetName check when save iSCSI configuration.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Wu, Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Fu, Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16167 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoThe binaries of ShellBinPkg are generated with ShellPkg project 16163. The binaries...
Qiu Shumin [Wed, 24 Sep 2014 07:49:20 +0000 (07:49 +0000)]
The binaries of ShellBinPkg are generated with ShellPkg project 16163. The binaries are built with no debug information by building with "RELEASE" target.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16166 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUsers of the LP64 data model should declare SIXTY_FOUR_BIT_LONG, not SIXTY_FOUR_BIT...
Ard Biesheuvel [Wed, 24 Sep 2014 07:48:26 +0000 (07:48 +0000)]
Users of the LP64 data model should declare SIXTY_FOUR_BIT_LONG, not SIXTY_FOUR_BIT when building OpenSSL.

Contributed-under: TianoCore Contribution Agreement 1.0

Reviewed-By: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Andrew Fish <afish@apple.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16165 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Make the argument type match the function expected parameter type to avoid...
Qiu Shumin [Wed, 24 Sep 2014 05:06:59 +0000 (05:06 +0000)]
ShellPkg: Make the argument type match the function expected parameter type to avoid build fail in GCC45.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16163 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoRefine get default value process for browser.
Eric Dong [Tue, 23 Sep 2014 08:06:23 +0000 (08:06 +0000)]
Refine get default value process for browser.
Before get default value for each questions, call ExtractConfig function to get the altcfg string for all formset. Later when question try to get default value from AltCfg string, just get the value from the saved altcfg string instead of call ExtractConfig function to get it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16162 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Refine code style to avoid potential NullPointer dereference.
Qiu Shumin [Tue, 23 Sep 2014 06:20:59 +0000 (06:20 +0000)]
ShellPkg: Refine code style to avoid potential NullPointer dereference.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16161 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoBaseTools: Update nmake Makefile to handle the file path with “:\\”.
Gao, Liming [Tue, 23 Sep 2014 01:32:56 +0000 (01:32 +0000)]
BaseTools: Update nmake Makefile to handle the file path with “:\\”.

DOS del command doesn’t handle “:\\” in the file path. This patch converts “:\\” to “:\”.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: lhauch <larry.hauch@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16160 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Fix setting hot key for boot option fail.
Qiu Shumin [Tue, 23 Sep 2014 01:14:30 +0000 (01:14 +0000)]
ShellPkg: Fix setting hot key for boot option fail.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16159 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: AcpiPlatformDxe: implement QEMU's full ACPI table loader interface
Laszlo Ersek [Mon, 22 Sep 2014 21:11:22 +0000 (21:11 +0000)]
OvmfPkg: AcpiPlatformDxe: implement QEMU's full ACPI table loader interface

Recent changes in the QEMU ACPI table generator have shown that our
limited client for that interface is insufficient and/or brittle.

Implement the full interface utilizing OrderedCollectionLib for addressing
fw_cfg blobs by name.

In order to stay compatible with EFI_ACPI_TABLE_PROTOCOL, we don't try to
identify QEMU's RSD PTR and link it into the UEFI system configuration
table. Instead, once all linker/loader commands have been processed, we
process the AddPointer commands for a second time.

In the second pass, we look at the targets of these pointer commands. The
key idea (by Michael Tsirkin) is that any ACPI interpreter will only be
able to locate ACPI tables by following absolute pointers, hence QEMU's
set of AddPointer commands will cover all of the ACPI tables (and more,
see below).

Some of QEMU's AddPointer commands (ie. some fields in ACPI tables) may
point to areas in fw_cfg blobs that are not ACPI tables themselves.
Examples are the BGRT.ImageAddress field, and the TCPA.LASA field. We tell
these apart from ACPI tables by performing the following checks on pointer
target "candidates":
- length check against minimum ACPI table size, and remaining blob size
- checksum verification.

If a target area looks like an ACPI table, and is different from RSDT and
DSDT (which EFI_ACPI_TABLE_PROTOCOL handles internally), we install the
table (at which point EFI_ACPI_TABLE_PROTOCOL creates a deep copy of the
relevant segment of the pointed-to fw_cfg blob).

Simultaneously, we keep account if each fw_cfg blob has ever been
referenced as the target of an AddPointer command without that AddPointer
command actually identifying an ACPI table. In this case the containing
fw_cfg file (of AcpiNVS memory type) must remain around forever, because
we never install that area with EFI_ACPI_TABLE_PROTOCOL, but some field in
some ACPI table that we *do* install still references it, by the absolute
address that we've established during the first pass.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16158 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: AcpiPlatformDxe: remove current ACPI table loader
Laszlo Ersek [Mon, 22 Sep 2014 21:11:15 +0000 (21:11 +0000)]
OvmfPkg: AcpiPlatformDxe: remove current ACPI table loader

In the next patch we rewrite the client code for QEMU's fw_cfg ACPI table
loader interface. In order to avoid randomly intermixed hunks in that
patch, first remove the old code cleanly.

We remove the InstallQemuLinkedTables() function and empty the
InstallAllQemuLinkedTables() function. We also remove CheckRsdp().

InstallAllQemuLinkedTables() will return constant EFI_NOT_FOUND to
AcpiPlatformEntryPoint(), causing the latter to proceed to OVMF's builtin
tables.

This way the history remains bisectable and the new client gets a clean
start in the next patch.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16157 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: AcpiPlatformDxe: actualize QemuLoader.h comments
Laszlo Ersek [Mon, 22 Sep 2014 21:11:09 +0000 (21:11 +0000)]
OvmfPkg: AcpiPlatformDxe: actualize QemuLoader.h comments

We used to state in this header file that we only cared about the Allocate
command. This is no longer the case; update the comments accordingly.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16156 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: resolve OrderedCollectionLib with base red-black tree instance
Laszlo Ersek [Mon, 22 Sep 2014 21:11:02 +0000 (21:11 +0000)]
OvmfPkg: resolve OrderedCollectionLib with base red-black tree instance

The "complete" QEMU fw_cfg ACPI loader will need to look up downloaded
blobs by name, in order to implement the AddPointer and AddChecksum
commands. Introduce OrderedCollectionLib to support such indexing.

BaseOrderedCollectionRedBlackTreeLib is a BASE module, hence add the
OrderedCollectionLib resolution to the main [LibraryClasses] section.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16155 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoBaseTools/ECC: Ignore duplicate check for 'NULL' library
Hess Chen [Mon, 22 Sep 2014 07:37:28 +0000 (07:37 +0000)]
BaseTools/ECC: Ignore duplicate check for 'NULL' library

Update a checkpoint to ignore duplicate check for 'NULL' library

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@Intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16154 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoBaseTools/Upt: Fix several bugs
Hess Chen [Mon, 22 Sep 2014 07:06:12 +0000 (07:06 +0000)]
BaseTools/Upt: Fix several bugs

1. Fix a bug of generating additional EOL in file header.
2. Fix a bug of format error for Defines section.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@Intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16153 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoFix X64 native function call prolog. Prepare space for at least 4 arguments,
Samer El-Haj-Mahmoud elhaj [Mon, 22 Sep 2014 05:54:41 +0000 (05:54 +0000)]
Fix X64 native function call prolog. Prepare space for at least 4 arguments,
even if the native function's arguments are less than 4.

From MSDN x64 Software Conventions, Overview of x64 Calling Conventions:
“The caller is responsible for allocating space for parameters to the
callee, and must always allocate sufficient space for the 4 register
parameters, even if the callee doesn’t have that many parameters.
This aids in the simplicity of supporting C unprototyped functions,
and vararg C/C++ functions.”

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud elhaj@hp.com
Reviewed by: Jiewen Yao <Jiewen.Yao@intel.com>
Reviewed by: Feng Tian <Feng.Tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16152 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoCorrect the convert hex string to decimal value logic.
Eric Dong [Mon, 22 Sep 2014 05:37:16 +0000 (05:37 +0000)]
Correct the convert hex string to decimal value logic.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16150 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoBaseTools/Upt: Fix several bugs
Hess Chen [Fri, 19 Sep 2014 02:04:08 +0000 (02:04 +0000)]
BaseTools/Upt: Fix several bugs

1. Fix a bug of packaging a full path file in zip at Linux.
2. Fix a format error of generating Hob/Event/BootMode information.
3. Fix a bug of generating additional “GUID” subtype for “UNDEFINED” guid.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@Intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16149 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: ShellPkg: Fix the cp fail while coping directory.
Ni Ruiyu [Fri, 19 Sep 2014 01:39:45 +0000 (01:39 +0000)]
ShellPkg: ShellPkg: Fix the cp fail while coping directory.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ni Ruiyu <ruiyu.ni@intel.com>
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16148 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Remove the redundant quotes around the parameter for 'alias'.
Qiu Shumin [Fri, 19 Sep 2014 01:34:44 +0000 (01:34 +0000)]
ShellPkg: Remove the redundant quotes around the parameter for 'alias'.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16147 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Refine code style to avoid potential uninitialized local variable.
Qiu Shumin [Fri, 19 Sep 2014 01:32:05 +0000 (01:32 +0000)]
ShellPkg: Refine code style to avoid potential uninitialized local variable.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16146 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoEmbeddedPkg: Introduced NULL library for SerialPortExtLib
Olivier Martin [Thu, 18 Sep 2014 21:18:22 +0000 (21:18 +0000)]
EmbeddedPkg: Introduced NULL library for SerialPortExtLib

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16145 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg/TimerDxe: add workaround for KVM timer interrupt handling
Ard Biesheuvel [Thu, 18 Sep 2014 21:16:47 +0000 (21:16 +0000)]
ArmPkg/TimerDxe: add workaround for KVM timer interrupt handling

KVM on ARM currently masks the timer interrupt on the timer side when
delivering an interrupt to the guest. This itself is a workaround for an
issue where the interrupt is reraised and trapped by the host as soon as
the guest is entered, resulting in the guest being starved.

Work around this by calling ArmGenericTimerEnable () after servicing each
interrupt. The virtual version of ArmGenericTimerCounterLib will then
make sure to unmask the interrupt again.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16144 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg: Introduced ArmPlatformSysConfigLib NULL library
Olivier Martin [Thu, 18 Sep 2014 21:15:29 +0000 (21:15 +0000)]
ArmPlatformPkg: Introduced ArmPlatformSysConfigLib NULL library

Some platforms do not have SysConfig controller used by the ARM
Versatile Express.
Some peripheral drivers currently rely on SysConfigLib (eg: PL031
RTC driver, LCD driver).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16143 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoStdLib: Produce DevMedia as a library class alternative to DevShell.
Daryl McDaniel [Thu, 18 Sep 2014 19:13:22 +0000 (19:13 +0000)]
StdLib: Produce DevMedia as a library class alternative to DevShell.
AppPkg: Replace existing DevShell dependencies with DevMedia.

These patches will NOT cause existing code which uses DevShell to break.
During an interim period, either DevShell or DevMedia may be used.
In the future, DevShell will be removed from the code base.

During the interim, DevShell and DevMedia refer to the same library.

StdLib/LibC/Uefi/Devices/daShell.inf
  Make this library also satisfy the DevMedia library class.
StdLib/StdLib.inc
  Add a library class definition for DevMedia

AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.inf
AppPkg/Applications/Python/PythonCore.inf
AppPkg/Applications/Sockets/GetAddrInfo/GetAddrInfo.inf
AppPkg/Applications/Sockets/GetHostByAddr/GetHostByAddr.inf
AppPkg/Applications/Sockets/GetHostByDns/GetHostByDns.inf
AppPkg/Applications/Sockets/GetHostByName/GetHostByName.inf
AppPkg/Applications/Sockets/GetNameInfo/GetNameInfo.inf
AppPkg/Applications/Sockets/GetNetByAddr/GetNetByAddr.inf
AppPkg/Applications/Sockets/GetNetByName/GetNetByName.inf
AppPkg/Applications/Sockets/GetServByName/GetServByName.inf
AppPkg/Applications/Sockets/GetServByPort/GetServByPort.inf
AppPkg/Applications/Sockets/RecvDgram/RecvDgram.inf
AppPkg/Applications/Sockets/SetHostName/SetHostName.inf
AppPkg/Applications/Sockets/SetSockOpt/SetSockOpt.inf
AppPkg/Applications/Sockets/TftpServer/TftpServer.inf
AppPkg/Applications/Sockets/WebServer/WebServer.inf
  Change LibraryClass dependency from DevShell to DevMedia

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16142 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/ArmVirtualizationPkg: Add ArmVirtualizationQemu platform
Michael Casadevall [Thu, 18 Sep 2014 18:11:24 +0000 (18:11 +0000)]
ArmPlatformPkg/ArmVirtualizationPkg: Add ArmVirtualizationQemu platform

This adds support for executing UEFI in a QEMU/mach-virt emulated environment.
The following assumptions are made about the target:
- DRAM base at 0x4000_0000, containing the device tree blob
- DRAM size at least 1 MB
- device tree uses 64-bit physical base addresses and sizes
- ARM architected timer
- Cortex-A15 CPU (if built for 32-bit)

The following information is retrieved from the device tree:
- PL011 UART base address
- GIC base addresses
- virtual timer interrupt
- PL031 RTC base address
- DRAM size, must be at least 128 MB
- virtio MMIO transports
- PSCI 0.2 availability (for reset and poweroff)

The device tree image is relocated and installed as a configuration table
so an EFI stub enabled kernel can be booted directly without the need for
a bootloader.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Casadevall <michael.casadevall@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16141 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmVirtualizationPkg: add device tree based PL011 SerialPortLib
Laszlo Ersek [Thu, 18 Sep 2014 18:07:52 +0000 (18:07 +0000)]
ArmVirtualizationPkg: add device tree based PL011 SerialPortLib

This adds 2 implementations of SerialPortLib for device tree based platforms
using a PL011 UART:
- an 'early' one which is completely stateless and uses only fixed PCDs
- a normal one which takes its base address from a HOB containing the base
  address discovered in the PEI phase

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-with-remarks-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16140 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/ArmVirtualizationPkg: introduce gEarlyPL011BaseAddressGuid
Laszlo Ersek [Thu, 18 Sep 2014 18:06:22 +0000 (18:06 +0000)]
ArmPlatformPkg/ArmVirtualizationPkg: introduce gEarlyPL011BaseAddressGuid

This GUID will identify a customized HOB that carries the base address of
the PL011 serial port, for clients that cannot access PCDs.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16139 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/ArmVirtualizationPkg: add ArmVirtualizationPlatformLib library
Michael Casadevall [Thu, 18 Sep 2014 18:05:03 +0000 (18:05 +0000)]
ArmPlatformPkg/ArmVirtualizationPkg: add ArmVirtualizationPlatformLib library

This is an implementation of ArmPlatformLib that discovers the size of system
DRAM from a device tree blob located at the address passed in
gArmTokenSpaceGuid.PcdDeviceTreeBaseAddress, which should equal the value in
gArmTokenSpaceGuid.PcdSystemMemoryBase.

As the device tree blob is passed in system DRAM, this library can only be used
if sufficient DRAM is available (>= 128 MB) and if not using shadowed NOR. The
reason for this is that it makes it easier to guarantee that such a device tree
blob at base of DRAM will not be clobbered before we get a chance to preserve it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Casadevall <michael.casadevall@linaro.org>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16138 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/ArmVirtualizationPkg: Add VirtFdtDxe driver
Ard Biesheuvel [Thu, 18 Sep 2014 17:59:58 +0000 (17:59 +0000)]
ArmPlatformPkg/ArmVirtualizationPkg: Add VirtFdtDxe driver

This driver enumerates the device nodes in the device tree located at the
base address passed in gArmTokenSpaceGuid.PcdDeviceTreeBaseAddress, and
installs drivers for devices it cares about (GIC interrupt controller, RTC,
architected timer interrupt)

Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16137 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/ArmVirtualizationPkg: Add PlatformPeiLib library
Ard Biesheuvel [Thu, 18 Sep 2014 17:58:01 +0000 (17:58 +0000)]
ArmPlatformPkg/ArmVirtualizationPkg: Add PlatformPeiLib library

This is a fork of the ARM PlatformPeiLib for virtual machines. The main
purpose of having this specific implementation is that it allows us to
preserve the device tree blob if it was passed to us in system DRAM.

Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16136 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/ArmVirtualizationPkg: introduce PCDs for device tree base address
Ard Biesheuvel [Thu, 18 Sep 2014 17:56:44 +0000 (17:56 +0000)]
ArmPlatformPkg/ArmVirtualizationPkg: introduce PCDs for device tree base address

Introduce gArmVirtualizationTokenSpaceGuid.PcdDeviceTreeBaseAddress and
PcdDeviceTreeInitialBaseAddress, which will be used by virtual machine ports
that discover the system configuration from a flattened device tree DTB image.

The latter is FixedPcd only, and should contain the initial offset of the DTB,
the former may be declared as dynamic, and updated at runtime if the DTB is
relocated before the DXE phase.

Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16135 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/ArmVirtualizationPkg: Add private HobLib implementation for DXE phase
Ard Biesheuvel [Thu, 18 Sep 2014 17:55:17 +0000 (17:55 +0000)]
ArmPlatformPkg/ArmVirtualizationPkg: Add private HobLib implementation for DXE phase

To allow a dynamically discovered UART base address, we parse the device
tree early and store the base address in a HOB. To prevent circular
constructor dependencies from interfering with bringing up the serial port
using this dynamic base address, use our own private HobLib with no
dependencies on DebugLib either directly or indirectly through UefiLib.

Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16134 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmVirtualizationPkg: add driver for QEMU's NOR flash
Ard Biesheuvel [Thu, 18 Sep 2014 17:53:36 +0000 (17:53 +0000)]
ArmVirtualizationPkg: add driver for QEMU's NOR flash

This adds an implementation of NorFlashPlatformLib that exposes the
two 64 MB NOR flash banks that are provided by QEMU's mach-virt
emulation both in 32-bit and 64-bit mode.

Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16133 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmVirtualizationPkg: add Include/ArmPlatform.h
Ard Biesheuvel [Thu, 18 Sep 2014 17:52:37 +0000 (17:52 +0000)]
ArmVirtualizationPkg: add Include/ArmPlatform.h

This include file contains platform specific defines, and is shared by
various modules.

Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16132 6f19259b-4bc3-4df7-8a09-765794883524

7 years ago1. Update PXE driver to support PXEv6 boot cross subnet.
Fu, Siyuan [Thu, 18 Sep 2014 11:44:36 +0000 (11:44 +0000)]
1. Update PXE driver to support PXEv6 boot cross subnet.
2. Update IP6 driver to use previous configured prefix length if a pre-exist IP6 address with unspecified prefix length.
3. Add NULL check for Dhcp protocol pointer before it decline the address in Ip6ConfigSetStatefulAddrCallback() function.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu, Siyuan <siyuan.fu@intel.com>
Reviewed-By: Ye, Ting (ting.ye@intel.com)
Reviewed-By: Wu, Jiaxin <jiaxin.wu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16131 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoAdd more check for the code to make it more safely.
Eric Dong [Thu, 18 Sep 2014 08:45:26 +0000 (08:45 +0000)]
Add more check for the code to make it more safely.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Siyuan Fu <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16129 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoMdeModulePkg/UsbBusDxe: Update Device->NumOfInterface at error handling path to avoid...
Feng Tian [Thu, 18 Sep 2014 06:06:25 +0000 (06:06 +0000)]
MdeModulePkg/UsbBusDxe: Update Device->NumOfInterface at error handling path to avoid system hang when DisconnectController is invoked to free resource occupied by usb device whose interface descriptor format doesn't follow usb spec.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16128 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoRoll back check in r15180 which caused the shell always returns EFI_ABORTED no matter...
Ruiyu Ni [Thu, 18 Sep 2014 01:58:03 +0000 (01:58 +0000)]
Roll back check in r15180 which caused the shell always returns EFI_ABORTED no matter what exit-code is specified for "exit" command.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Carsey Jaben <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16127 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Fix the support for command line comments.
Qiu Shumin [Thu, 18 Sep 2014 01:21:01 +0000 (01:21 +0000)]
ShellPkg: Fix the support for command line comments.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Chris Phillips <chrisp@hp.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16126 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoStdLib: Fix parameter type errors.
Stefan Kaeser [Wed, 17 Sep 2014 20:58:16 +0000 (20:58 +0000)]
StdLib: Fix parameter type errors.

Fix casts of parameters to sprintf() so that they have the correct type.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Stefan Kaeser <stefankaeser@hotmail.com>
Reviewed-by: daryl.mcdaniel@intel.com
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16125 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoBaseTools: Update the BaseTools/Source/Python/Makefile to check for dependent files
Gao, Liming [Wed, 17 Sep 2014 08:47:01 +0000 (08:47 +0000)]
BaseTools: Update the BaseTools/Source/Python/Makefile to check for dependent files

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Hauch, Larry <larry.hauch@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16124 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Do TrimSpace again after StdIn, StdOut, and StdErr are set up.
Ni Ruiyu [Wed, 17 Sep 2014 08:41:31 +0000 (08:41 +0000)]
ShellPkg: Do TrimSpace again after StdIn, StdOut, and StdErr are set up.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ni Ruiyu <ruiyu.ni@intel.com>
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16123 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Remove redundant quotes in file path string for Shell command parameters.
Qiu Shumin [Wed, 17 Sep 2014 07:58:31 +0000 (07:58 +0000)]
ShellPkg: Remove redundant quotes in file path string for Shell command parameters.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16122 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Remove redundant quotes for command 'FOR' in Shell.
Qiu Shumin [Wed, 17 Sep 2014 07:52:35 +0000 (07:52 +0000)]
ShellPkg: Remove redundant quotes for command 'FOR' in Shell.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16121 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Use compare operator for non-Boolean comparisons.
Qiu Shumin [Wed, 17 Sep 2014 07:48:27 +0000 (07:48 +0000)]
ShellPkg: Use compare operator for non-Boolean comparisons.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16120 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Add support for GCC stack protector
Ronald Cron [Tue, 16 Sep 2014 18:21:24 +0000 (18:21 +0000)]
ShellPkg: Add support for GCC stack protector

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ronald Cron <Ronald.Cron@arm.com>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16116 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Specify AArch64 intrinsics library
Harry Liebel [Tue, 16 Sep 2014 17:46:07 +0000 (17:46 +0000)]
ShellPkg: Specify AArch64 intrinsics library

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16115 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUpdate Build Tool version from 0.51 to 0.60
Gao, Liming [Tue, 16 Sep 2014 09:03:00 +0000 (09:03 +0000)]
Update Build Tool version from 0.51 to 0.60

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16114 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoSupport DSC and FDF file out of WORKSPACE by GenFds.
Yingke Liu [Tue, 16 Sep 2014 08:33:40 +0000 (08:33 +0000)]
Support DSC and FDF file out of WORKSPACE by GenFds.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16113 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoRefine the code, remove the useless code.
Eric Dong [Tue, 16 Sep 2014 07:01:03 +0000 (07:01 +0000)]
Refine the code, remove the useless code.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16112 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg: separate PlatformPei and PlatformPeiLib
Ard Biesheuvel [Tue, 16 Sep 2014 00:56:50 +0000 (00:56 +0000)]
ArmPlatformPkg: separate PlatformPei and PlatformPeiLib

This separates PlatformPei and PlatformPeiLib so the latter can be
overridden by a specific platform.

Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16110 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoEmbeddedPkg/Lan9118Dxe: Fixed typo
Olivier Martin [Tue, 16 Sep 2014 00:55:47 +0000 (00:55 +0000)]
EmbeddedPkg/Lan9118Dxe: Fixed typo

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16109 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPsciResetSystemLib: read PSCI method in constructor
Ard Biesheuvel [Tue, 16 Sep 2014 00:51:17 +0000 (00:51 +0000)]
ArmPsciResetSystemLib: read PSCI method in constructor

As this library is used in the implementation of a Runtime Service,
make sure to access dynamic PCDs only in the constructor.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16108 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/NorFlashDxe: use MmioWrite () not memory stores
Ard Biesheuvel [Tue, 16 Sep 2014 00:41:45 +0000 (00:41 +0000)]
ArmPlatformPkg/NorFlashDxe: use MmioWrite () not memory stores

When writing to the flash, make sure to use MmioWrite () wrappers instead
of letting the compiler generate the store instructions. This is needed
because under virtualization, store instructions with multiple outputs
(i.e., store pair or store with writeback) cannot be emulated efficiently
when operating on MMIO ranges.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16107 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoBaseTools/Source/C: Only used '-Wno-self-assign' when BaseTools are built on DARWIN
Andrew Fish [Tue, 16 Sep 2014 00:38:12 +0000 (00:38 +0000)]
BaseTools/Source/C: Only used '-Wno-self-assign' when BaseTools are built on DARWIN

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Andrew Fish <afish@apple.com>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
Tested-By: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16106 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoMdeModulePkg XhciPei/UsbBusPei: Enhance code for better device compatibility.
Star Zeng [Mon, 15 Sep 2014 09:33:16 +0000 (09:33 +0000)]
MdeModulePkg XhciPei/UsbBusPei: Enhance code for better device compatibility.

1. Add delay after set device address and get configuration descriptor.
2. Sync the change at R15876 in XhciDxe to do not access transfer ring when endpoint is isochronous type or control type.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16105 6f19259b-4bc3-4df7-8a09-765794883524

7 years ago1. Use the PciIo->GetBarAttributes to find the logical bar index of the memory mapped...
Fu, Siyuan [Mon, 15 Sep 2014 03:37:58 +0000 (03:37 +0000)]
1. Use the PciIo->GetBarAttributes to find the logical bar index of the memory mapped bar and IO mapped bar.
2. Remove unused code for undi 3.0.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu, Siyuan <siyuan.fu@intel.com>
Reviewed-By: Ye, Ting (ting.ye@intel.com)
Reviewed-By: Ni, Ruiyu <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16104 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoThe current Makefile only checks the primary python file, such as build.py and does...
lhauch [Fri, 12 Sep 2014 22:59:04 +0000 (22:59 +0000)]
The current Makefile only checks the primary python file, such as build.py and does not check other files in tool’s directory tree.
This modification adds all of the other files within the tool’s directory tree that would be a cause to rebuild the tool.

The format in the Makefile for listing these other files was selected to allow the nightly build script to detect changes in the additional files.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lhauch <larry.hauch@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16103 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Fix ASSERT when bcfg moving boot option with source location = total number...
Tapan Shah [Fri, 12 Sep 2014 16:46:23 +0000 (16:46 +0000)]
ShellPkg: Fix ASSERT when bcfg moving boot option with source location = total number of boot options
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tapan Shah <tapandshah@hp.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16102 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoThis patch is going to fix the issue of the mis-match between the index of Platform...
Feng, Bob C [Fri, 12 Sep 2014 08:46:30 +0000 (08:46 +0000)]
This patch is going to fix the issue of the mis-match between the index of Platform DynamicPcd list and Dynamic Pcd generated token number.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng, Bob C <bob.c.feng@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16101 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg: error: invalid instruction mnemonic 'retf'
Nikolai Saoukh [Fri, 12 Sep 2014 08:38:23 +0000 (08:38 +0000)]
UefiCpuPkg: error: invalid instruction mnemonic 'retf'

.S assembler files must be AT&T syntax ones. So Intel syntax mnemonic is not good. Discovered by clang integrated assembler.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Nikolai Saoukh <nms@otdel-1.org>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16100 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoBaseTools: Fix the regression issue after enbaling s_* an d_* macros in FDF.
Yingke Liu [Fri, 12 Sep 2014 06:57:22 +0000 (06:57 +0000)]
BaseTools: Fix the regression issue after enbaling s_* an d_* macros in FDF.

Add the missing 'MacroDict' field in FfsInfStatement.

The issue is that BaseTools/Source/Python/GenFds/FfsInfStatement.py", line 448, in __ExtendMacro__
    String = GenFdsGlobalVariable.MacroExtend(String, self.MacroDict)
AttributeError: OptRomInfStatement instance has no attribute 'MacroDict'

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16099 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg: error: invalid instruction mnemonic 'retf'
Nikolai Saoukh [Fri, 12 Sep 2014 02:59:34 +0000 (02:59 +0000)]
UefiCpuPkg: error: invalid instruction mnemonic 'retf'

.S assembler files must be AT&T syntax ones. So Intel syntax mnemonic is not good. Discovered by clang integrated assembler.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Nikolai Saoukh <nms@otdel-1.org>
Reviewed-by: Andrew Fish <afish@apple.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16098 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoFix a bug that Dhcp6CalculateLeaseTime() function use incorrect offset on the IaAddre...
Fu, Siyuan [Fri, 12 Sep 2014 00:51:58 +0000 (00:51 +0000)]
Fix a bug that Dhcp6CalculateLeaseTime() function use incorrect offset on the IaAddress pointer.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu, Siyuan <siyuan.fu@intel.com>
Reviewed-By: Ye, Ting (ting.ye@intel.com)
Reviewed-By: Wu, Jiaxin <jiaxin.wu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16097 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoStdLib: Fix some build problems and obscure bugs.
daryl.mcdaniel [Thu, 11 Sep 2014 21:42:26 +0000 (21:42 +0000)]
StdLib: Fix some build problems and obscure bugs.

StdLib\
  BsdSocketLib\
    ns_print.c
      Use "%lu" format instead of "%Lu".  A capital 'L' specifies (long double) in print formats.
      Add a cast from char to (unsigned int) to match its sprintf format.
    res_debug.c
      Use "%lu" format instead of "%Lu".  A capital 'L' specifies (long double) in print formats.
  EfiSocketLib\
    Socket.c
      Update copyright & correct formatting
  Include\
    sys\
      EfiCdefs.h
        Update copyright date
        Change type of LONGN and ULONGN to INTN and UINTN, respectively.
      errno.h
        Update copyright date
        Add enum member '__ESUCCESS = 0'
      fcntl.h
        Update copyright date
        Improve comment for O_EXCL
      stat.h
        Update copyright date
        Reorder the S_* flags
        Put the S_* predicate macros in the same order as their flag definitions
        Add a function header comment to the stat() function declaration.
    errno.h
      Update copyright date
      Define new ESUCCESS error code
    wchar.h
      Update copyright date
      Correct the description of the Nptr parameter to the wcstol, wcstoll, wcstoul, and wcstoull functions.
    x86\float.h
      Update copyright date
      Define 'long double' limits for non-Microsoft compilers
  LibC\
    Containers\Queues\Fifo.c
      Rewrite to make more robust and secure (zeros out old data)
    StdLib\realpath.c
      Update copyright date
      Reformat descriptive comment for realpath()
      Add terminating CRLF

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: daryl.mcdaniel@intel.com
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16096 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: resolve BcfgCommandLib class for ShellPkg/.../Shell.inf
Laszlo Ersek [Thu, 11 Sep 2014 19:11:37 +0000 (19:11 +0000)]
OvmfPkg: resolve BcfgCommandLib class for ShellPkg/.../Shell.inf

SVN r16092 ('ShellPkg: Add a new library for "bcfg" command') introduced a
new library class (and an instance for it) called BcfgCommandLib.

SVN r16093 ('ShellPkg: Use the new library for "bcfg" command') rebased
ShellPkg to the new library, introducing a new [LibraryClasses]
dependency.

Library classes must be resolved to library instances in client platform
descriptions (DSC's). Since OVMF is a client platform, import the same
library resolution as seen in "ShellPkg/ShellPkg.dsc" (added in SVN
r16092).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16095 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoAdd support for ${s_*} and ${d_*} macros for in FDF file for the INF files, and for...
Abner Chang [Thu, 11 Sep 2014 06:44:17 +0000 (06:44 +0000)]
Add support for ${s_*} and ${d_*} macros for in FDF file for the INF files, and for each statement in the build rules.
The following keywords are supported:
"src", "s_path", "s_dir", "s_name", "s_base", "s_ext", "dst", "d_path", "d_name", "d_base", "d_ext"

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Abner Chang <abner.chang@hp.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Larry Hauch <larry.hauch@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16094 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Use the new library for "bcfg" command
Jaben Carsey [Wed, 10 Sep 2014 20:55:37 +0000 (20:55 +0000)]
ShellPkg: Use the new library for "bcfg" command

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Chris Phillips <chrisp@hp.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>
Reviewed by: Tapan Shah <tapandshah@hp.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16093 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Add a new library for "bcfg" command
Jaben Carsey [Wed, 10 Sep 2014 20:30:38 +0000 (20:30 +0000)]
ShellPkg: Add a new library for "bcfg" command

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Chris Phillips <chrisp@hp.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>
Reviewed by: Tapan Shah <tapandshah@hp.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16092 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/PL031RealTimeClockLib: use virtual address of runtime services
Ard Biesheuvel [Wed, 10 Sep 2014 18:49:43 +0000 (18:49 +0000)]
ArmPlatformPkg/PL031RealTimeClockLib: use virtual address of runtime services

This library accesses SystemTable->RuntimeServices at runtime,
which means it should take care to use its updated value after
SetVirtualAddressMap () is called.

Replace references to gRT with mRT, which we initialize to gRT
and update to its virtual value on a virtual address change event.

Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16091 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg/TimerDxe: Read timer frequency from CPU
Ard Biesheuvel [Wed, 10 Sep 2014 18:48:47 +0000 (18:48 +0000)]
ArmPkg/TimerDxe: Read timer frequency from CPU

The PCD gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz is used in the
SEC phase (if applicable) to write the platform's counter frequency
to the CNTFRQ system register, as this needs to be done by the highest
exception level implemented.

Under virtualization, we should be able to rely on the host to have
initialized this register to a sane value, as we run at EL1 and only
use the virtual timer, so the PcdArmArchTimerFreqInHz PCD has little
meaning here.

So in either case, by the time we enter the DXE phase, we can use the
CNTFRQ system register to read the frequency instead of looking at the
PCD.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16090 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg: Introduced ArmPsciResetSystemLib
Ard Biesheuvel [Wed, 10 Sep 2014 18:47:30 +0000 (18:47 +0000)]
ArmPkg: Introduced ArmPsciResetSystemLib

This implementation of EfiResetSystemLib uses ARM PSCI calls to perform
reboot and poweroff, using either HVC or SMC calls.

Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16089 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg: Add ArmHvcLib
Ard Biesheuvel [Wed, 10 Sep 2014 18:46:23 +0000 (18:46 +0000)]
ArmPkg: Add ArmHvcLib

This is a utility library closely modeled after ArmSmcLib, that allows
hypervisor call (HVC) instructions to be issued from C code.

Change-Id: I5f5c65f83e910ff98dbb2f5b031dad8c4f663daa
Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16088 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg: Add PSCI 0.2 constants for system poweroff and reset
Ard Biesheuvel [Wed, 10 Sep 2014 18:45:08 +0000 (18:45 +0000)]
ArmPkg: Add PSCI 0.2 constants for system poweroff and reset

Change-Id: I683a603300812578c15cf3c1e0ccb7574fdb5caf
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16087 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg/ArmSmcLib: fix stack handling in .asm version of SMC wrapper
Ard Biesheuvel [Wed, 10 Sep 2014 18:44:19 +0000 (18:44 +0000)]
ArmPkg/ArmSmcLib: fix stack handling in .asm version of SMC wrapper

This fixes a bug in the stack handling in the RVCT .asm version
of the SMC wrapper.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16086 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoBaseTools: Fix XCODE5 to work properly with NASM
Andrew Fish [Wed, 10 Sep 2014 16:48:59 +0000 (16:48 +0000)]
BaseTools: Fix XCODE5 to work properly with NASM

The default object type for NASM is raw binary, and this will not link.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Andrew Fish <afish@apple.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16085 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoMdeModulePkg/UsbBusDxe: Fixed Clang build error.
Nikolai Saoukh [Wed, 10 Sep 2014 06:14:26 +0000 (06:14 +0000)]
MdeModulePkg/UsbBusDxe: Fixed Clang build error.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Nikolai Saoukh <nms@otdel-1.org>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16084 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Replace the usage of StrnCpy with CopyMem to avoid potential buffer overflo...
Qiu Shumin [Wed, 10 Sep 2014 01:03:43 +0000 (01:03 +0000)]
ShellPkg: Replace the usage of StrnCpy with CopyMem to avoid potential buffer overflow and refine the code style.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Signed-off-by: Yao Jiewen <jiewen.yao@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16083 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoAppPkg: Add the Arithchk utility and clean up some build problems.
daryl.mcdaniel [Tue, 9 Sep 2014 22:37:02 +0000 (22:37 +0000)]
AppPkg: Add the Arithchk utility and clean up some build problems.

AppPkg\
  AppPkg.dsc
    Update copyright date
    Add Component ArithChk.inf
  Applications\
    Main\
      Main.inf
        Remove DevShell dependency
    Python\
      Python-2.7.2\Modules\
        socketmodule.c
          Initialize addro, in sock_sendto(), before use.
    ArithChk\
      ArithChk.inf
      arithchk.c
        NEW
        This is a direct port of the arithchk program which is included as part of the NetBSD gdtoa library.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: daryl.mcdaniel@intel.com
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16082 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoStdLib: Changes needed to support XCODE5
Andrew Fish [Tue, 9 Sep 2014 21:59:08 +0000 (21:59 +0000)]
StdLib: Changes needed to support XCODE5

I had to make the following changes to make this build work: >build -p AppPkg/AppPkg.dsc -a X64 -t XCODE5

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Andrew Fish <afish@apple.com>
Reviewed-by: Daryl McDaniel <daryl.mcdaniel@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16081 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoEmbeddedPkg: Split off FDT loading functionality from FdtLib
Ard Biesheuvel [Tue, 9 Sep 2014 17:59:19 +0000 (17:59 +0000)]
EmbeddedPkg: Split off FDT loading functionality from FdtLib

Split off the recently added functionality to load device tree images and
install them as configuration tables, as it introduces a dependency on
UefiBootServicesTableLib, preventing FdtLib from being used during SEC and
PEI phases.

Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16080 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg,ArmPlatformPkg: Allow dynamic PCDs for memory base and size
Ard Biesheuvel [Tue, 9 Sep 2014 16:11:30 +0000 (16:11 +0000)]
ArmPkg,ArmPlatformPkg: Allow dynamic PCDs for memory base and size

This changes the definition and a bunch of references to
gArmTokenSpaceGuid.PcdSystemMemoryBase and
gArmTokenSpaceGuid.PcdSystemMemorySize so they can be declared as dynamic PCDs
by the platform. Also, move the non-SEC call to
ArmPlatformInitializeSystemMemory() earlier, so a platform has a chance to set
these PCDs before they are first referenced.

The purpose is allowing dynamically instantiated virtual machines to declare
the system memory by passing a device tree.

Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16079 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg: Move TimerDxe and ArmArchTimerLib to new ArmGenericTimerCounterLib
Ard Biesheuvel [Tue, 9 Sep 2014 16:10:18 +0000 (16:10 +0000)]
ArmPkg: Move TimerDxe and ArmArchTimerLib to new ArmGenericTimerCounterLib

Move TimerDxe and ArmArchTimerLib to ArmGenericTimerCounterLib, and update all
platforms to select the physical counter instance they have been using
implicitly all along.

Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16078 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg/TimerDxe: Register the virt and hyp timer interrupts at init time.
Ard Biesheuvel [Tue, 9 Sep 2014 16:08:42 +0000 (16:08 +0000)]
ArmPkg/TimerDxe: Register the virt and hyp timer interrupts at init time.

Change-Id: I1162dc60140278c0b3da837bf325e3789ababf54
Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16077 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg: add ArmGenericTimerCounterLib implementation using virtual timer
Ard Biesheuvel [Tue, 9 Sep 2014 16:07:43 +0000 (16:07 +0000)]
ArmPkg: add ArmGenericTimerCounterLib implementation using virtual timer

This adds an implementation of ArmGenericTimerCounterLib using the virtual
architected generic timer.

Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16076 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg: add ArmGenericTimerCounterLib implementation using physical timer
Ard Biesheuvel [Tue, 9 Sep 2014 16:06:10 +0000 (16:06 +0000)]
ArmPkg: add ArmGenericTimerCounterLib implementation using physical timer

This adds an implementation of ArmGenericTimerCounterLib using the physical
architected generic timer.

Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16075 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg: add ArmGenericTimerCounterLib interface
Ard Biesheuvel [Tue, 9 Sep 2014 16:04:39 +0000 (16:04 +0000)]
ArmPkg: add ArmGenericTimerCounterLib interface

This introduces ArmGenericTimerCounterLib by adding the include file
ArmPkg/Include/Library/ArmGenericTimerCounterLib.h.

Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16074 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg: Renamed ArmArchTimerLib.h to ArmArchTimer.h
Ard Biesheuvel [Tue, 9 Sep 2014 16:03:21 +0000 (16:03 +0000)]
ArmPkg: Renamed ArmArchTimerLib.h to ArmArchTimer.h

The ArmArchTimerLib.h include file is not directly related to the TimerLib
instance ArmArchTimerLib, so the name is confusing. Rename to ArmArchTimer.h
instead.

Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16073 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg: allow dynamic GIC base addresses
Ard Biesheuvel [Tue, 9 Sep 2014 16:00:47 +0000 (16:00 +0000)]
ArmPkg: allow dynamic GIC base addresses

Allow the PCDs gArmTokenSpaceGuid.PcdGicDistributorBase and
gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase to be redeclared
as PcdsDynamic by the platform, so virtual machines can set these
properties during boot. As the PcdGet32() calls now call into the
PCD database, cache the values that are required during the handling
of interrupts.

Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16072 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg: allow dynamically discovered timer interrupts
Ard Biesheuvel [Tue, 9 Sep 2014 15:59:38 +0000 (15:59 +0000)]
ArmPkg: allow dynamically discovered timer interrupts

To support booting on virtual machines whose interrupt routing is
discovered from the device tree, allow the interrupt numbers to
be redeclared as PcdsDynamic by the platform .dsc

Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16071 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/Bds: Fix delete boot option
Harry Liebel [Tue, 9 Sep 2014 15:58:33 +0000 (15:58 +0000)]
ArmPlatformPkg/Bds: Fix delete boot option

- We need to delete the boot option variable from storage not just
  adjust the BootOrder variable.
- The Linux tool 'efibootmgr' still showed the previously removed boot
  options.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16070 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg/ArmDisassemblerLib: ARMThumb and AArch64 fixes
Harry Liebel [Tue, 9 Sep 2014 15:57:18 +0000 (15:57 +0000)]
ArmPkg/ArmDisassemblerLib: ARMThumb and AArch64 fixes

- Fix ARM Thumb mask operator. This was flagged by a toolchain as warning
  "use of logical '&&' with constant operand [-Wconstant-logical-operand]"
- AArch64 should not be building the ARM32 disassemblers.
- Add a AArch64 build target. The disassembler is still to be
  implemented.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16069 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg: CpuExceptionHandlerLib: Make self modifying code work with Xcode
Anderw Fish [Tue, 9 Sep 2014 06:50:51 +0000 (06:50 +0000)]
UefiCpuPkg: CpuExceptionHandlerLib: Make self modifying code work with Xcode

CpuExceptionHandlerLib has code that contains absolute relocations, not supported by
Xcode for X64, and it then copies this code to an alternate location in memory. It is
very hard to write IP relative self-modifiying code. I had to update AsmVectorNumFixup()
to also patch in the absolute addressess after the code was copied.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anderw Fish <afish@apple.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16068 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoSourceLevelDebugPkg: DebugAgentLib: Fix clang/Xcode 5 compile/link errors
Anderw Fish [Tue, 9 Sep 2014 06:27:45 +0000 (06:27 +0000)]
SourceLevelDebugPkg: DebugAgentLib: Fix clang/Xcode 5 compile/link errors

Move ExceptionStubHeaderSize from 16 to 32 bits to work around clang relocation limitation. Use movw, not move for 32-bit segment register operations.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anderw Fish <afish@apple.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16067 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: AcpiTimerLib: Access power mgmt regs based on host bridge type
Gabriel Somlo [Tue, 9 Sep 2014 03:18:30 +0000 (03:18 +0000)]
OvmfPkg: AcpiTimerLib: Access power mgmt regs based on host bridge type

Pick the appropriate bus:dev.fn for accessing ACPI power management
registers (00:01.3 on PIIX4 vs. 00:1f.0 on Q35) based on the device
ID of the host bridge (assumed always present at 00:00.0).

With this patch, OVMF can boot QEMU's "-machine q35" x86 machine type.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16066 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoMdeModulePkg: Fix XCODE Link Issue in DxeCore
Gao, Liming [Tue, 9 Sep 2014 02:35:41 +0000 (02:35 +0000)]
MdeModulePkg: Fix XCODE Link Issue in DxeCore

In XCODE tool chain, the 64-bit bit wise and operation is causing the compiler to emit an __umoddi3.
This patch uses BaseLib API to replace 64-bit bit operation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Andrew Fish <afish@apple.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16065 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Replace assignment statement with 'StrnCpy' to append terminal NULL charact...
Qiu Shumin [Tue, 9 Sep 2014 01:47:19 +0000 (01:47 +0000)]
ShellPkg: Replace assignment statement with 'StrnCpy' to append terminal NULL character in a string.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16064 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoThis file allows a developer to add a new tool in either the C or Python trees, add...
lhauch [Fri, 5 Sep 2014 14:15:40 +0000 (14:15 +0000)]
This file allows a developer to add a new tool in either the C or Python trees, add the executable (and any supporting files, such as the TestSigningPrivateKey.pem file) to this file and the build server will automatically make sure that the new files are added to the BaseTools\Bin\Win32 directory. The Win32 directory is located in https://svn.code.sf.net/p/edk2-toolbinaries/code/trunk/Win32 repository.

Developer - Tool add process:
1) Developer adds code for the new tool.
2) Developer updates the Makefile in the C or Python directory
a) The entry must make sure that the executable is generated in the BaseTools\Bin\Win32 directory and any supporting files are copied to the same directory as part of the build step.
3) Developer adds the <Toolname>.exe under the [Bin.Win32] section in the BinaryFiles.txt file.
4) Developer adds other files required to be present in the [ExtraFiles.Win32] section in the BinaryFiles.txt file.

Build Server:
1) Build all binaries by calling nmake on the Source\C\Makefile and Source\Python\Makefile
2) After building the binaries, the build server verify that the files listed in BaseTools\Source\BinFiles.txt are also in the edk2-toolbinaries project,
a. If a file is not under source control, then the build server will add file as long as it is present.

File format:
[SectionName.TargetDir]
File1
File2


Where:
SectionName is one of Bin, ExtraFiles or CxFreeze
TargeDir is the name of the subdirectory in the BaseTools\Bin directory tree.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lhauch <larry.hauch@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16063 6f19259b-4bc3-4df7-8a09-765794883524