oliviermartin [Sat, 11 Jun 2011 11:56:30 +0000 (11:56 +0000)]
ArmPkg/BdsLib: Upgrade the library to use natively the Device Path
The previous version was using the string representation of the Device Path.
This new version takes as paramater the binary representation of the Device Path
It also tries to detect which kind of device support it refers by using the remaining
part of the Device Path after it has been loaded by gBS->ConnectController()
Lots of bug have been fixed as well in this new version.
oliviermartin [Sat, 11 Jun 2011 11:28:59 +0000 (11:28 +0000)]
EmbeddedPkg/Ebl: Move the flag string %a for the path from the PCD to the function call
The UEFI platform designer had to add '%a' to their EBL prompt PCD to print out the path
in the shell.
This change makes the addition of the path automatically after the platform specific value
in the EBL shell.
oliviermartin [Sat, 11 Jun 2011 11:12:38 +0000 (11:12 +0000)]
ArmPlatformPkg: Add support for PL111 Lcd driver
This driver implements the interface for the PL111 Lcd controller.
The LcdPlatformLib allows to set the platform specific requirements
needed by the platform for setting the LCD (oscillators, etc).
This library exports the supported resolutions. It also allocates the
memory for the framebuffer and send the correct settings to the VExpress
motherboard microcontroller.
oliviermartin [Sat, 11 Jun 2011 11:08:34 +0000 (11:08 +0000)]
ArmPlatformPkg: Introduce ArmPlatformSysConfigLib
The purpose of this library is to create an interface to communicate
with the platform micro-controller.
It abstracts the communication protocol (eg: SPI, UART, etc) between
the application processor and the micro-controller.
andrewfish [Thu, 9 Jun 2011 19:31:56 +0000 (19:31 +0000)]
InOsEmuPkg: Add the EFI parts of the Simple Network Protocol
This only adds the EFI parts and not the OS specific implementation. Since the EFI parts no longer use system include files this is safe to do. Also fix two minor typos.
niruiyu [Thu, 9 Jun 2011 02:55:17 +0000 (02:55 +0000)]
Change BuildGuidHob and BuildGuidDataHob to return NULL upon failure.
Guarantee no memory corruption in an out of memory condition even in production builds.
niruiyu [Thu, 9 Jun 2011 02:53:56 +0000 (02:53 +0000)]
Change BuildGuidHob and BuildGuidDataHob to return NULL upon failure.
Guarantee no memory corruption in an out of memory condition even in production builds.
niruiyu [Thu, 9 Jun 2011 02:51:00 +0000 (02:51 +0000)]
Change BuildGuidHob and BuildGuidDataHob to return NULL upon failure.
Guarantee no memory corruption in an out of memory condition even in production builds.
andrewfish [Wed, 8 Jun 2011 21:52:21 +0000 (21:52 +0000)]
InOsEmuPkg: Make XIP work properly
Update the InOsEmuPkg to properly function with XIP. Make the Recovery FV read only. Remove the use of global variable writes from XIP code. Add a new global page that can be used in place of writting to the FD by XIP code. Think of this global page as a system SRAM.
andrewfish [Wed, 8 Jun 2011 04:32:18 +0000 (04:32 +0000)]
Update the FD mapping so the volatile areas write back to the FD file. Currently they are only mapped as a memory copy of the file. This also make FV read only.
The current scheme maps a file into a memory buffer. You can write to the memory buffer, but if you restart the emulator the data is not written back to the FD. Since the build, rebuilds the FD it will blow away any changes. You can now set variables and restart the emulator and they are still set. There is a bug if the FV is set to write protect that still needs to be tracked down.
andrewfish [Wed, 8 Jun 2011 02:34:12 +0000 (02:34 +0000)]
Add support for SerialPortLib that maps into POSIX StdIn and StdOut. Add a device path text to lib as a holding point waiting on getting it reviewed for other packages. Some minor fixes. Also map the FV as writable, so the Variable store becomes writable.
I plan to try and make only the Variable store and logs writable, and make the executable/compressed FV read only in a future checkin.
This file contains the ARM Versatile Express motherboard definitions.
It allows to avoid duplication between different platforms based on ARM VExpress
motherboard.
oliviermartin [Fri, 3 Jun 2011 09:39:00 +0000 (09:39 +0000)]
ArmPlatformPkg/ArmRealViewEbPkg: Use NorFlashDxe and enable variables services
The ARM RealView EB (hardware and RTSM) supports the same NOR Flash controller
as the ARM Versatile Express.
Add the implementation of the NorFlashPlatformLib for ArmRealViewEb.
Remove the Firmware Volume Block raw data used to enable environment variables on
ARM RealView EB from the FDF file to use the NOR Flash driver.
Replace the variable service emulation by the version using Firmware Volume Block.
oliviermartin [Fri, 3 Jun 2011 09:35:57 +0000 (09:35 +0000)]
ArmPlatformPkg/NorFlashDxe: Move NorFlash driver from ArmVExpressPkg to ArmPlatformPkg
This NOR Flash driver can be reused for other platform (eg: ARM Realview EB).
To make this driver reusable on other platforms the NorFlashPlatformLib library
has been created to abstract the platform specific bits such as the pre-requirements
steps to the initialization and the geometry of the NOR Flash regions.
oliviermartin [Fri, 3 Jun 2011 09:32:39 +0000 (09:32 +0000)]
ArmPlatformPkg/SP804Timer: Remove the SP810 System Controller dependency
The SP804 drivers must not consider the presence of the SP810 System Controller
on the platform. The SP810 was used to enable the SP804 Dual Timers on ArmVExpress.
It is the role of the Platform specific driver to enable to the SP804 dual timers
if required.
The former SP810 initialization code has moved to ArmPlatformLib for ArmRealViewEb
and ArmVersatileExpress.
This library makes the interface with the PL011 UART controller.
This library can be linked to different types of driver (Serial Console,
debugger, etc) using PL011 UART controller.
ArmPlatformPkg/PL011SerialPortLib: Use Drivers/PL011Uart
Remove the direct accesses to the PL011 UART controller to use the PL011Uart
library.
These functions set/clear the SCTLR.V bit that controls the location
of the Vector Table.
This commit also forces the SCTLR.V to be clear when the VBAR register
is set.
Note: The original fix has been proposed by Eugene Cohen (HP).
oliviermartin [Fri, 3 Jun 2011 09:18:00 +0000 (09:18 +0000)]
ArmPkg: Introduce the PCD PcdDebuggerExceptionSupport
The Exception Vector can be set before installing the CPU DXE driver to add
debugger support at the early stage of the firmware initialization.
If no one has touched the exception vector prior to the CPU DXE then the Vector
might contain non zero data.
oliviermartin [Fri, 3 Jun 2011 09:11:55 +0000 (09:11 +0000)]
EmbeddedPkg/SimpleTextInOutSerial: Update the cursor position
It is a UEFI requirement to update the cursor position infomation for each
string displayed using calls to EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL->OutputString().
oliviermartin [Fri, 3 Jun 2011 09:09:18 +0000 (09:09 +0000)]
EmbeddedPkg/MmcDxe: Wait for the MMC controller to be in Transfer Mode
The MMC controller might be ready for data but not be in a 'ready' state
to send or receive commands.
This fix waits for the MMC controller to be in the correct state.
andrewfish [Wed, 1 Jun 2011 02:27:02 +0000 (02:27 +0000)]
Make shell not ASSERT on older versions of EFI. On a Mac if you soft load Hii, DevicePathToText, and ComponentName drivers from edk2, then with this patch the new Shell will run.
andrewfish [Tue, 31 May 2011 20:23:36 +0000 (20:23 +0000)]
Add BlockIO support to the emulator, still needs testing. Also update Emulator start code to only pass 2 args in place of 3. The 3rd argument is not needed. Still need a function as the BaseLib functoin does not have the correct calling conventions. Cleanup build script for binary shell case.
geekboy15a [Fri, 27 May 2011 20:04:45 +0000 (20:04 +0000)]
MdeModulePkg: Fixed memory corruption when BlockIo2 is not present
Fixed NULL pointer reference of BlockIo2.Media in partition code. This resulted
in the interrupt vector table being corrupted in a legacy (CSM) based system.
vanjeff [Fri, 27 May 2011 05:30:30 +0000 (05:30 +0000)]
1. Setting cursor position to (0, 0) and flushing cursor directly instead of calling GraphicConSoleConOutSetPosition().
2. Rename the internal function name EraseCursor() to FlushCursor() to remove the confusion on this function name. And add detailed function description for it.
jcarsey [Wed, 25 May 2011 22:29:40 +0000 (22:29 +0000)]
Remove ASSERT within Ls for RTC error and associated changes.
TimeDate.c: replace magic number with constant.
Ls.c: use new warning printout string and remove an ASSERT. also replace magic number with constant.
The UNI file: add new warning printout string.