From 6f72e28d04348ad4539679949609675b114896e1 Mon Sep 17 00:00:00 2001 From: andrewfish Date: Wed, 27 Jan 2010 02:47:47 +0000 Subject: 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 --- BeagleBoardPkg/BeagleBoardPkg.dsc | 1 + BeagleBoardPkg/BeagleBoardPkg.fdf | 6 +++--- BeagleBoardPkg/Flash/Flash.c | 27 +++++++++++++++++++------ BeagleBoardPkg/Flash/Flash.h | 12 ----------- BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c | 30 ++++++++++++++++++++++++++++ BeagleBoardPkg/MMCHSDxe/MMCHS.c | 8 ++++---- BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm | 2 +- 7 files changed, 60 insertions(+), 26 deletions(-) (limited to 'BeagleBoardPkg') diff --git a/BeagleBoardPkg/BeagleBoardPkg.dsc b/BeagleBoardPkg/BeagleBoardPkg.dsc index bed07533e3..5eb3fd8b42 100644 --- a/BeagleBoardPkg/BeagleBoardPkg.dsc +++ b/BeagleBoardPkg/BeagleBoardPkg.dsc @@ -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 diff --git a/BeagleBoardPkg/BeagleBoardPkg.fdf b/BeagleBoardPkg/BeagleBoardPkg.fdf index a1314668a5..5211e0922d 100644 --- a/BeagleBoardPkg/BeagleBoardPkg.fdf +++ b/BeagleBoardPkg/BeagleBoardPkg.fdf @@ -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) diff --git a/BeagleBoardPkg/Flash/Flash.c b/BeagleBoardPkg/Flash/Flash.c index 26a381aa2a..698003b7a3 100644 --- a/BeagleBoardPkg/Flash/Flash.c +++ b/BeagleBoardPkg/Flash/Flash.c @@ -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 ( diff --git a/BeagleBoardPkg/Flash/Flash.h b/BeagleBoardPkg/Flash/Flash.h index 533e416c7e..2e95b96bb9 100644 --- a/BeagleBoardPkg/Flash/Flash.h +++ b/BeagleBoardPkg/Flash/Flash.h @@ -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; diff --git a/BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c b/BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c index 93164d68df..b101049cad 100644 --- a/BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c +++ b/BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c @@ -27,8 +27,38 @@ #include +//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 + } }; diff --git a/BeagleBoardPkg/MMCHSDxe/MMCHS.c b/BeagleBoardPkg/MMCHSDxe/MMCHS.c index 77c5fbdbfa..763e1e9987 100644 --- a/BeagleBoardPkg/MMCHSDxe/MMCHS.c +++ b/BeagleBoardPkg/MMCHSDxe/MMCHS.c @@ -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 diff --git a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm index 411e3c13ce..71e60b707a 100755 --- a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm +++ b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm @@ -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 -- cgit v1.2.3