Commit Graph

87 Commits

Author SHA1 Message Date
oliviermartin 16d88c2d20 EmbeddedPkg/MmcDxe: Add 'This' pointer attribute to protocol function
This attribute allows the EFI_MMC_HOST_PROTOCOL interface to manage
multiple instances in one driver.


EmbeddedPkg/MmcDxe: Add Revision attribute to the EFI_MMC_HOST_PROTOCOL


Note: The ARM PL180 and Omap35xx MMC host drivers has been updated.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12255 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-01 17:08:41 +00:00
oliviermartin 40842a5e7c EmbeddedPkg/MmcDxe: Card Presence Detect Race Condition
The MMC driver defaults to assume a card is not present.  It then starts a timer in MmcDxeInitialize to check for card presence every 200ms.

However it does not immediately check to see if a card is present so if the EFI driver connection process occurs less than 200ms after the driver load, the connection process for partition 
or filesystem drivers will fail because MediaPresent still is FALSE.  To resolve this race condition, we need to immediately perform the presence check in the Start routine.


EmbeddedPkg/MmcDxe: Media ID Handling

Initialize the MMC device on Start or when presence changes instead of doing it on the Block IO calls. This way the layered drivers can be stopped and rebuilt with new Media IDs instead of 
experiencing errors on calls to Block IO.


Proposed-by: Eugene Cohen (HP)
Reviewed-by: oliviermartin




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12237 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-30 18:02:38 +00:00
oliviermartin 151acec6e1 ArmPkg: Fix ARMGCC build
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12165 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18 11:12:39 +00:00
oliviermartin e0932788c3 EmbeddedPkg/MmcDxe: Set the BlockLength at the beginning of the BlockIo transfer
Before the SetBlockLength command was called prior to a Read or Write command.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12133 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:38:27 +00:00
oliviermartin bb0f9e9ba3 EmbeddedPkg/MmcDxe: Fix the indexes in the response array
The indexes have been reversed compare to the specification which
created confusions in some MMC responses.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12132 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:20:55 +00:00
oliviermartin 36aa561136 EmbeddedPkg/MmcDxe: Implement the correct macro to get the device size of SD 2 High Density cards
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12131 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:15:58 +00:00
oliviermartin d8ad4736af EmbeddedPkg/MmcDxe: Fix the CMD3 sequence
In the former version, we were checking the card was in the new state (Standby state).
But the transition to the nez state is only visible in the response of the next command.
This commit removes the check on the MMC state.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12130 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:12:13 +00:00
oliviermartin 969ece79f1 EmbeddedPkg/MmcDxe: Improved parameters checking
Ensure the passed parameters are correct.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12129 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:06:53 +00:00
oliviermartin 3de99375d2 EmbeddedPkg/MmcDxe: Create a periodic function to check if a card is present
In the former version, the check was done for every BlockIo operation.
By using a periodical function, we check less time in consequence performance
are better.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12128 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:04:14 +00:00
oliviermartin 7ca9e5a401 EmbeddedPkg: Fix mispellings
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12101 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-08 18:29:14 +00:00
oliviermartin a6caee65ac ArmPlatformPkg: Remove PcdStandalone from Sec module and Introduce ArmPlatformSecExtraAction()
The PcdStandalone is a PCD ARM Ltd uses to make the difference between a standalone UEFI (boot
from cold boot to Boot Manager without user intervention) and a Debug UEFI firmware (the firmware
engineer has to copy the Normale World image into the DRAM to enable his/her firmware).

By coping the firmware into DRAM in the non standalone version it is much faster than reflashing
the NOR Flash after each build.

ArmPlatformSecExtraAction() function is called just before the Sec module jump to normal world.
The platform firmware can run extra actions at this stage.
The 'ARM Standalone' concept has moved to the implementation of ArmPlatformSecExtraAction() for
the ARM development boards (in ArmPlatformPkg/Library/DebugSecExtraActionLib).


ArmPlatformPkg: Enable DebugAgentLib in Sec and PrePeiCore


ArmPlatformPkg: Fix line endings in some source files

Use CR+LF line endings as defined by the EDK2 coding convention




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11991 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 16:07:54 +00:00
oliviermartin fb42fffeb8 ArmPlatformPkg: Fix build issues
Other compiler version ... other warnings



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11970 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-04 10:18:18 +00:00
oliviermartin 7fb54d9d04 EmbeddedPkg: Removed unused PCD values
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11955 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01 14:41:25 +00:00
oliviermartin d60b4c43c1 EmbeddedPkg/Ebl: Check if gST->ConOut has been initialized
An exception error occured in EBL when gST->ConOut had not been intialized.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11954 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01 14:37:16 +00:00
oliviermartin f6eab262f0 EmbeddedPkg/PrePiLib: Export HobConstructor()
This function only create the HOB Handoff Info Table structure in memory.
In opposition to CreateHobList() that creates the structure and starts to
populate it with few HOBs.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11948 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01 11:00:47 +00:00
oliviermartin 32f718cf06 EmbeddedPkg/PrePiHobListPointerLib: New interface to abstract the HobListPointer storage
This interface allows to use different mechanism to store the HobList Pointer.


EmbeddedPkg/PrePiHobListPointerLib: Implementation of PrePiHobListPointerLib using PCD

This library uses a PCD to store the location of the HobList Pointer.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11947 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01 10:59:06 +00:00
oliviermartin 6da6db17a4 EmbeddedPkg/PrePiLib: Remove the performance measurements from the library
The PrePiLib should really be used for the PEI phase (not the SEC phase).
It is the DXE core that take the tick for the end of the PEI phase.

The Platform PrePi module should be responsible to take the tick when it
starts for the PEI phase.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11946 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01 10:57:38 +00:00
oliviermartin 05e48e0083 EmbeddedPkg/PrePiHobLib: Move Hob functions from PrePiLib to PrePiHobLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11945 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01 10:56:24 +00:00
oliviermartin e889946d3a EmbeddedPkg: Introduce PrePiMemoryAllocationLib (2)
Forgot the new files ...



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11944 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01 10:53:51 +00:00
oliviermartin 5b490e76a7 EmbeddedPkg: Introduce PrePiMemoryAllocationLib
This Memory Allocation Library for PrePi is based on the memory
functions of PrePiLib.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11943 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01 10:50:48 +00:00
oliviermartin e862cd50c6 ArmPkg: Fix warnings raised by ARMGCC
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11829 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-15 19:53:15 +00:00
oliviermartin e6b3b50834 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.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11798 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11 11:28:59 +00:00
andrewfish f65dc3bebd Fix bug in SerialRead returning error if no data was present.
No data should not be an error return. Causing lots of REPORT_STATUS_CODE messages out of the TerminalDxe driver.

Signed-off-by: andrewfish
Reviewed-by: andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11770 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-08 21:12:11 +00:00
oliviermartin 010bb3d2db EmbeddedPkg/SerialDxe: Only read Serial Port if data available
Poll the Serial Port to ensure data are available.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11730 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:14:16 +00:00
oliviermartin 52721ad540 EmbeddedPkg/SerialDxe: Fix SIMPLE_TEXT_OUT_DEVICE_PATH Device Path
The UART device type and subtype were inccorect.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11729 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:12:55 +00:00
oliviermartin 56226bf769 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().



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11728 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:11:55 +00:00
oliviermartin e8e95df41d EmbeddedPkg/MmcDxe: Fix coding style
Make the coding style more compliant with the EDK2 coding convention.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11727 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:10:26 +00:00
oliviermartin b9d5fe03e6 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.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11726 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:09:18 +00:00
oliviermartin ce73d60afb EmbeddedPkg: Move Universal/MmcDxe from ArmPkg to EmbeddedPkg
The MmcDxe is not ARM architecture specific.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11725 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:07:31 +00:00
oliviermartin 98790d8148 EmbeddedPkg/LauterbachT32: Lauterbach T32 Debug Scripts
These scripts are used for UEFI Source debugging with Lauterbach T32.
They can be used at different stages of the UEFI boot time.

A README.txt file explains how to use these scripts.





git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11599 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-27 17:21:31 +00:00
oliviermartin 20fd35dc44 EmbeddedPkg/Ebl: Add support for env variable deletion
Passing only the variable name should delete the environment
variable if it exists.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11477 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 12:14:06 +00:00
andrewfish fb334ef6c5 Fix EBL GetCurrentIpAddress & GetCurrentMacAddress commands. Add variable services commands. Fix arugment parsing in EBL. All fixes from ARM Ltd.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11290 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-01 05:37:22 +00:00
andrewfish 63ca740217 Update remaining ARM .S files with INTERWORK_FUNC macro. This is the 2nd half of check-in 11167.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11169 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-15 01:06:20 +00:00
andrewfish eca37a3101 Fix dec file to pass new stricter error checking.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11124 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-06 17:50:31 +00:00
andrewfish 18bd7f34e9 These libraries moved to ArmPkg, but did not get deleted. Fixing that issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10862 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-09 22:04:50 +00:00
andrewfish abeca79abf Fix bug in LoadFv command. Don't free the buffer the file was loaded into as the DXE Core will point to it as an FV.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10791 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-12 17:21:22 +00:00
andrewfish 685f8c7600 Fix more InitializeDebugAgent API change bugs. GDB stub was not turned on in example platforms.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10687 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-23 15:25:32 +00:00
andrewfish 6be6c2e04d NullDmaLib:DmaMap() function needs to return valid DeviceAddress.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10554 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-28 22:50:59 +00:00
andrewfish aaeef06375 Add a DMA lib that works like PCI_IO protocl. Add a NULL version that would work with Intel (DMA is coherent no matter what you do).
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10551 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-28 12:44:36 +00:00
andrewfish 31e4a57f64 Fix newline at end of file issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10508 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-18 21:01:12 +00:00
andrewfish 23d3998ad5 Remove DebugSupport driver for ARM and DebugSupportProtocol. In edk2 you can link debugger into DXE core directly so you don't need a debug support. Also we are going to FIQ for debugger ctrl-c break in, so no need to hook the timer infrastructure.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10495 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-18 00:54:24 +00:00
andrewfish 884366cf56 Added a PCD to turn on/off probing Block IO devices to detect add/remove/change. FAT driver does not do this so if the shell does not do this you will get dir hits on an SD Card that has been removed. Default is ON. I moved this feature from device command to main command loop so it gets done after you type return before your command is processed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10479 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-11 00:09:48 +00:00
andrewfish 0f127da65a Fix gcc warning.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10471 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-08 19:48:46 +00:00
andrewfish 6191913fb4 Removed connect/disconnect in device command and replace with simple BlockIo readblocks to probe for media change. This relies on ReinstallProtocolInterface() calls in the BlockIo drivers to make the filesystems reload.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10468 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-08 19:26:45 +00:00
andrewfish 208a8330d0 Fix svn check in bug that broke CWD. Update the connect disconnect support in device command to minimize operations.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10462 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-07 16:45:48 +00:00
andrewfish f6381f4c3d Remove probe for removable media from FileLib, it was getting called way too much. Now it is in the EBL shell device command. Cleanup some spacing issues in the lib code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10454 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-04 16:29:32 +00:00
andrewfish 0a0951ea84 Update FileLib to use pointer to BlockIo->Media and not a cached copy also add some code in the library init that allows removable media devices to be probed to see if a media change has happened.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10449 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-30 19:40:17 +00:00
hhtian 60274ccab8 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10446 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-29 12:40:51 +00:00
andrewfish 6f6e059640 Fixup Embedded Package PCD names
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10391 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-21 22:09:56 +00:00
andrewfish bb5127aeb7 Clean up using FIQ as ctrl-c checker so you can break in from the debugger.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10390 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-21 22:08:28 +00:00