From: andrewfish Date: Tue, 13 Apr 2010 18:31:27 +0000 (+0000) Subject: Fix Beagle references without using svn mv. X-Git-Tag: edk2-stable201903~15977 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=382127fc4ce6acbae01a128230e41a07faf868f2;ds=sidebyside Fix Beagle references without using svn mv. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10365 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/Omap35xxPkg/Library/BeagleBoardSystemLib/BeagleBoardSystemLib.c b/Omap35xxPkg/Library/BeagleBoardSystemLib/BeagleBoardSystemLib.c deleted file mode 100644 index f8d7b97ca8..0000000000 --- a/Omap35xxPkg/Library/BeagleBoardSystemLib/BeagleBoardSystemLib.c +++ /dev/null @@ -1,110 +0,0 @@ -/** @file - - Copyright (c) 2008-2009, Apple Inc. All rights reserved. - - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -VOID -ResetSystem ( - IN EFI_RESET_TYPE ResetType - ) -{ - switch (ResetType) { - case EfiResetWarm: - //Perform warm reset of the system. - GoLittleEndian(PcdGet32(PcdFlashFvMainBase)); - break; - case EfiResetCold: - case EfiResetShutdown: - default: - //Perform cold reset of the system. - MmioOr32 (PRM_RSTCTRL, RST_DPLL3); - while ((MmioRead32 (PRM_RSTST) & GLOBAL_COLD_RST) != 0x1); - break; - } - - //Should never come here. - ASSERT(FALSE); -} - -VOID -ShutdownEfi ( - VOID - ) -{ - EFI_STATUS Status; - UINTN MemoryMapSize; - EFI_MEMORY_DESCRIPTOR *MemoryMap; - UINTN MapKey; - UINTN DescriptorSize; - UINTN DescriptorVersion; - UINTN Pages; - - MemoryMap = NULL; - MemoryMapSize = 0; - do { - Status = gBS->GetMemoryMap ( - &MemoryMapSize, - MemoryMap, - &MapKey, - &DescriptorSize, - &DescriptorVersion - ); - if (Status == EFI_BUFFER_TOO_SMALL) { - - Pages = EFI_SIZE_TO_PAGES (MemoryMapSize) + 1; - MemoryMap = AllocatePages (Pages); - - // - // Get System MemoryMap - // - Status = gBS->GetMemoryMap ( - &MemoryMapSize, - MemoryMap, - &MapKey, - &DescriptorSize, - &DescriptorVersion - ); - // Don't do anything between the GetMemoryMap() and ExitBootServices() - if (!EFI_ERROR (Status)) { - Status = gBS->ExitBootServices (gImageHandle, MapKey); - if (EFI_ERROR (Status)) { - FreePages (MemoryMap, Pages); - MemoryMap = NULL; - MemoryMapSize = 0; - } - } - } - } while (EFI_ERROR (Status)); - - //Clean and invalidate caches. - WriteBackInvalidateDataCache(); - InvalidateInstructionCache(); - - //Turning off Caches and MMU - ArmDisableDataCache(); - ArmDisableInstructionCache(); - ArmDisableMmu(); -} - diff --git a/Omap35xxPkg/Library/BeagleBoardSystemLib/BeagleBoardSystemLib.inf b/Omap35xxPkg/Library/BeagleBoardSystemLib/BeagleBoardSystemLib.inf deleted file mode 100644 index 4df8c86f6d..0000000000 --- a/Omap35xxPkg/Library/BeagleBoardSystemLib/BeagleBoardSystemLib.inf +++ /dev/null @@ -1,44 +0,0 @@ -#/** @file -# Support for Airport libraries. -# -# Copyright (c) 2009, Apple Inc. -# -# All rights reserved. This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -# -#**/ - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = BeagleBoardSystemLib - FILE_GUID = b15a2640-fef2-447c-98e1-9ce22cfa529c - MODULE_TYPE = BASE - VERSION_STRING = 1.0 - LIBRARY_CLASS = BeagleBoardSystemLib - -[Sources.ARM] - BeagleBoardSystemLib.c - GoLittleEndian.asm | RVCT - GoLittleEndian.S | GCC - -[Packages] - MdePkg/MdePkg.dec - EmbeddedPkg/EmbeddedPkg.dec - ArmPkg/ArmPkg.dec - Omap35xxPkg/Omap35xxPkg.dec - -[LibraryClasses] - ArmLib - CacheMaintenanceLib - MemoryAllocationLib - UefiRuntimeServicesTableLib - TimerLib - UefiLib - -[Pcd] - gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase diff --git a/Omap35xxPkg/Library/BeagleBoardSystemLib/GoLittleEndian.S b/Omap35xxPkg/Library/BeagleBoardSystemLib/GoLittleEndian.S deleted file mode 100644 index a37ae7c883..0000000000 --- a/Omap35xxPkg/Library/BeagleBoardSystemLib/GoLittleEndian.S +++ /dev/null @@ -1,27 +0,0 @@ -#------------------------------------------------------------------------------ -# -# Copyright (c) 2008-2009 Apple Inc. All rights reserved. -# -# All rights reserved. This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -#------------------------------------------------------------------------------ - -.text -.align 3 -.globl ASM_PFX(GoLittleEndian) - -// r0 is target address -ASM_PFX(GoLittleEndian): - - // Switch to SVC Mode - mov r2,#0xD3 // SVC mode - msr CPSR_c,r2 // Switch modes - - bx r0 - diff --git a/Omap35xxPkg/Library/BeagleBoardSystemLib/GoLittleEndian.asm b/Omap35xxPkg/Library/BeagleBoardSystemLib/GoLittleEndian.asm deleted file mode 100644 index 8daced6b8f..0000000000 --- a/Omap35xxPkg/Library/BeagleBoardSystemLib/GoLittleEndian.asm +++ /dev/null @@ -1,27 +0,0 @@ -//------------------------------------------------------------------------------ -// -// Copyright (c) 2008-2009 Apple Inc. All rights reserved. -// -// All rights reserved. This program and the accompanying materials -// are licensed and made available under the terms and conditions of the BSD License -// which accompanies this distribution. The full text of the license may be found at -// http://opensource.org/licenses/bsd-license.php -// -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -//------------------------------------------------------------------------------ - - EXPORT GoLittleEndian - PRESERVE8 - AREA Ebl, CODE, READONLY - -// r0 is target address -GoLittleEndian - // Switch to SVC Mode - mov r2,#0xD3 // SVC mode - msr CPSR_c,r2 // Switch modes - - bx r0 - - END diff --git a/Omap35xxPkg/Library/BeagleBoardTimerLib/BeagleBoardTimerLib.inf b/Omap35xxPkg/Library/BeagleBoardTimerLib/BeagleBoardTimerLib.inf deleted file mode 100644 index 515dff9f65..0000000000 --- a/Omap35xxPkg/Library/BeagleBoardTimerLib/BeagleBoardTimerLib.inf +++ /dev/null @@ -1,45 +0,0 @@ -#/** @file -# Timer library implementation -# -# A non-functional instance of the Timer Library that can be used as a template -# for the implementation of a functional timer library instance. This library instance can -# also be used to test build DXE, Runtime, DXE SAL, and DXE SMM modules that require timer -# services as well as EBC modules that require timer services -# Copyright (c) 2007, Intel Corporation. -# -# All rights reserved. This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -# -#**/ - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = BeagleBoardTimerLib - FILE_GUID = fe1d7183-9abb-42ce-9a3b-36d7c6a8959f - MODULE_TYPE = BASE - VERSION_STRING = 1.0 - LIBRARY_CLASS = TimerLib - -[Sources.common] - TimerLib.c - -[Packages] - Omap35xxPkg/Omap35xxPkg.dec - MdePkg/MdePkg.dec - EmbeddedPkg/EmbeddedPkg.dec - -[LibraryClasses] - DebugLib - OmapLib - IoLib - -[Pcd] - gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFreqencyInHz - gEmbeddedTokenSpaceGuid.PcdEmbeddedFdPerformanceCounterPeriodInNanoseconds - gOmap35xxTokenSpaceGuid.PcdOmap35xxFreeTimer - diff --git a/Omap35xxPkg/Library/BeagleBoardTimerLib/TimerLib.c b/Omap35xxPkg/Library/BeagleBoardTimerLib/TimerLib.c deleted file mode 100644 index 1b1f2a9dbe..0000000000 --- a/Omap35xxPkg/Library/BeagleBoardTimerLib/TimerLib.c +++ /dev/null @@ -1,102 +0,0 @@ -/** @file - - Copyright (c) 2008-2009, Apple Inc. All rights reserved. - - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#include - -#include -#include -#include -#include -#include -#include - -#include - -UINTN -EFIAPI -MicroSecondDelay ( - IN UINTN MicroSeconds - ) -{ - UINT64 NanoSeconds; - - NanoSeconds = MultU64x32(MicroSeconds, 1000); - - while (NanoSeconds > (UINTN)-1) { - NanoSecondDelay((UINTN)-1); - NanoSeconds -= (UINTN)-1; - } - - NanoSecondDelay(NanoSeconds); - - return MicroSeconds; -} - -UINTN -EFIAPI -NanoSecondDelay ( - IN UINTN NanoSeconds - ) -{ - UINT32 Delay; - UINT32 StartTime; - UINT32 CurrentTime; - UINT32 ElapsedTime; - UINT32 TimerCountRegister; - - Delay = (NanoSeconds / PcdGet32(PcdEmbeddedFdPerformanceCounterPeriodInNanoseconds)) + 1; - - TimerCountRegister = TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TCRR; - - StartTime = MmioRead32 (TimerCountRegister); - - do - { - CurrentTime = MmioRead32 (TimerCountRegister); - ElapsedTime = CurrentTime - StartTime; - } while (ElapsedTime < Delay); - - NanoSeconds = ElapsedTime * PcdGet32(PcdEmbeddedFdPerformanceCounterPeriodInNanoseconds); - - return NanoSeconds; -} - -UINT64 -EFIAPI -GetPerformanceCounter ( - VOID - ) -{ - return (UINT64)MmioRead32 (TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TCRR); -} - -UINT64 -EFIAPI -GetPerformanceCounterProperties ( - OUT UINT64 *StartValue, OPTIONAL - OUT UINT64 *EndValue OPTIONAL - ) -{ - if (StartValue != NULL) { - // Timer starts with the reload value - *StartValue = (UINT64)MmioRead32 (TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TLDR); - } - - if (EndValue != NULL) { - // Timer counts up to 0xFFFFFFFF - *EndValue = 0xFFFFFFFF; - } - - return PcdGet64(PcdEmbeddedPerformanceCounterFreqencyInHz); -} diff --git a/Omap35xxPkg/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf b/Omap35xxPkg/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf new file mode 100644 index 0000000000..515dff9f65 --- /dev/null +++ b/Omap35xxPkg/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf @@ -0,0 +1,45 @@ +#/** @file +# Timer library implementation +# +# A non-functional instance of the Timer Library that can be used as a template +# for the implementation of a functional timer library instance. This library instance can +# also be used to test build DXE, Runtime, DXE SAL, and DXE SMM modules that require timer +# services as well as EBC modules that require timer services +# Copyright (c) 2007, Intel Corporation. +# +# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# +#**/ + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = BeagleBoardTimerLib + FILE_GUID = fe1d7183-9abb-42ce-9a3b-36d7c6a8959f + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = TimerLib + +[Sources.common] + TimerLib.c + +[Packages] + Omap35xxPkg/Omap35xxPkg.dec + MdePkg/MdePkg.dec + EmbeddedPkg/EmbeddedPkg.dec + +[LibraryClasses] + DebugLib + OmapLib + IoLib + +[Pcd] + gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFreqencyInHz + gEmbeddedTokenSpaceGuid.PcdEmbeddedFdPerformanceCounterPeriodInNanoseconds + gOmap35xxTokenSpaceGuid.PcdOmap35xxFreeTimer + diff --git a/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c b/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c new file mode 100644 index 0000000000..1b1f2a9dbe --- /dev/null +++ b/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c @@ -0,0 +1,102 @@ +/** @file + + Copyright (c) 2008-2009, Apple Inc. All rights reserved. + + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include + +#include +#include +#include +#include +#include +#include + +#include + +UINTN +EFIAPI +MicroSecondDelay ( + IN UINTN MicroSeconds + ) +{ + UINT64 NanoSeconds; + + NanoSeconds = MultU64x32(MicroSeconds, 1000); + + while (NanoSeconds > (UINTN)-1) { + NanoSecondDelay((UINTN)-1); + NanoSeconds -= (UINTN)-1; + } + + NanoSecondDelay(NanoSeconds); + + return MicroSeconds; +} + +UINTN +EFIAPI +NanoSecondDelay ( + IN UINTN NanoSeconds + ) +{ + UINT32 Delay; + UINT32 StartTime; + UINT32 CurrentTime; + UINT32 ElapsedTime; + UINT32 TimerCountRegister; + + Delay = (NanoSeconds / PcdGet32(PcdEmbeddedFdPerformanceCounterPeriodInNanoseconds)) + 1; + + TimerCountRegister = TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TCRR; + + StartTime = MmioRead32 (TimerCountRegister); + + do + { + CurrentTime = MmioRead32 (TimerCountRegister); + ElapsedTime = CurrentTime - StartTime; + } while (ElapsedTime < Delay); + + NanoSeconds = ElapsedTime * PcdGet32(PcdEmbeddedFdPerformanceCounterPeriodInNanoseconds); + + return NanoSeconds; +} + +UINT64 +EFIAPI +GetPerformanceCounter ( + VOID + ) +{ + return (UINT64)MmioRead32 (TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TCRR); +} + +UINT64 +EFIAPI +GetPerformanceCounterProperties ( + OUT UINT64 *StartValue, OPTIONAL + OUT UINT64 *EndValue OPTIONAL + ) +{ + if (StartValue != NULL) { + // Timer starts with the reload value + *StartValue = (UINT64)MmioRead32 (TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TLDR); + } + + if (EndValue != NULL) { + // Timer counts up to 0xFFFFFFFF + *EndValue = 0xFFFFFFFF; + } + + return PcdGet64(PcdEmbeddedPerformanceCounterFreqencyInHz); +}