Added a library for the default exception handler and started to add a dissasembler. Cleaned up some issues with BlockIo in BeagleBoard and add some extra info on Ebl devices command to show if a blk device has a file system on it.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9830 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
andrewfish
2010-01-27 02:47:47 +00:00
parent 3b66da9498
commit 6f72e28d04
22 changed files with 1328 additions and 217 deletions

View File

@@ -71,6 +71,7 @@
CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
DefaultExceptioHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
SerialPortLib|BeagleBoardPkg/Library/SerialPortLib/SerialPortLib.inf

View File

@@ -154,9 +154,9 @@ READ_LOCK_STATUS = TRUE
#NOTE: Open source EHCI stack doesn't work on Beagleboard.
#NOTE: UsbBus and UsbMassStorage don't work using iPhond SDK tool chain.
INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
#INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
#INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
#INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
#
# UEFI application (Shell Embedded Boot Loader)

View File

@@ -682,10 +682,25 @@ NandFlashFlushBlocks (
return EFI_SUCCESS;
}
EFI_BLOCK_IO_MEDIA gNandFlashMedia = {
SIGNATURE_32('n','a','n','d'), // MediaId
FALSE, // RemovableMedia
TRUE, // MediaPresent
FALSE, // LogicalPartition
FALSE, // ReadOnly
FALSE, // WriteCaching
0, // BlockSize
2, // IoAlign
0, // Pad
0 // LastBlock
};
EFI_BLOCK_IO_PROTOCOL BlockIo =
{
EFI_BLOCK_IO_INTERFACE_REVISION, // Revision
&NandFlashMedia, // *Media
&gNandFlashMedia, // *Media
NandFlashReset, // Reset
NandFlashReadBlocks, // ReadBlocks
NandFlashWriteBlocks, // WriteBlocks
@@ -700,7 +715,7 @@ NandFlashInitialize (
{
EFI_STATUS Status;
gNandFlashInfo = (NAND_FLASH_INFO *)AllocateZeroPool(sizeof(NAND_FLASH_INFO));
gNandFlashInfo = (NAND_FLASH_INFO *)AllocateZeroPool (sizeof(NAND_FLASH_INFO));
//Initialize GPMC module.
GpmcInit();
@@ -709,7 +724,7 @@ NandFlashInitialize (
NandFlashReset(&BlockIo, FALSE);
//Detect NAND part and populate gNandFlashInfo structure
Status = NandDetectPart();
Status = NandDetectPart ();
if (EFI_ERROR(Status)) {
DEBUG((EFI_D_ERROR, "Nand part id detection failure: Status: %x\n", Status));
return Status;
@@ -730,11 +745,11 @@ NandFlashInitialize (
}
//Configure ECC
NandConfigureEcc();
NandConfigureEcc ();
//Patch EFI_BLOCK_IO_MEDIA structure.
NandFlashMedia.BlockSize = gNandFlashInfo->BlockSize;
NandFlashMedia.LastBlock = LAST_BLOCK;
gNandFlashMedia.BlockSize = gNandFlashInfo->BlockSize;
gNandFlashMedia.LastBlock = LAST_BLOCK;
//Publish BlockIO.
Status = gBS->InstallMultipleProtocolInterfaces (

View File

@@ -83,18 +83,6 @@
#define MAX_RETRY_COUNT 1500
EFI_BLOCK_IO_MEDIA NandFlashMedia = {
SIGNATURE_32('n','a','n','d'), // MediaId
FALSE, // RemovableMedia
TRUE, // MediaPresent
TRUE, // LogicalPartition
FALSE, // ReadOnly
FALSE, // WriteCaching
0, // BlockSize
2, // IoAlign
0, // Pad
0 // LastBlock
};
typedef struct {
UINT8 ManufactureId;

View File

@@ -27,8 +27,38 @@
#include <Library/EfiFileLib.h>
//PcdEmbeddedFdBaseAddress
/**
Fill Me In
Argv[0] - "%CommandName%"
@param Argc Number of command arguments in Argv
@param Argv Array of strings that represent the parsed command line.
Argv[0] is the comamnd name
@return EFI_SUCCESS
**/
EFI_STATUS
EblEdk2Cmd (
IN UINTN Argc,
IN CHAR8 **Argv
)
{
return EFI_SUCCESS;
}
GLOBAL_REMOVE_IF_UNREFERENCED const EBL_COMMAND_TABLE mLibCmdTemplate[] =
{
{
"edk2",
" filename ; Load FD into memory and boot from it",
NULL,
EblEdk2Cmd
}
};

View File

@@ -17,10 +17,10 @@
#include "MMCHS.h"
EFI_BLOCK_IO_MEDIA MMCHSMedia = {
SIGNATURE_32('s','d','i','o'), // MediaId
FALSE, // RemovableMedia
SIGNATURE_32('s','d','i','o'), // MediaId
TRUE, // RemovableMedia
TRUE, // MediaPresent
TRUE, // LogicalPartition
FALSE, // LogicalPartition
FALSE, // ReadOnly
FALSE, // WriteCaching
512, // BlockSize
@@ -52,7 +52,7 @@ MMCHS_DEVICE_PATH gMmcHsDevicePath =
};
CARD_INFO *gCardInfo;
EMBEDDED_EXTERNAL_DEVICE *gTPS65950;
EMBEDDED_EXTERNAL_DEVICE *gTPS65950;
//
// Internal Functions

View File

@@ -60,7 +60,7 @@ stack_pointer_setup
// Call C entry point
mov r0, #0x80000000 /* memory base arg0 */
mov r1, #0x08000000 /* memory size arg1 */
mov r1, #0x10000000 /* memory size arg1 */
blx CEntryPoint /* Assume C code is thumb */
ShouldNeverGetHere