From 507ebc1a35a395e173a7871ec7de2aeda71d6ead Mon Sep 17 00:00:00 2001 From: andrewfish Date: Thu, 3 Feb 2011 01:49:07 +0000 Subject: [PATCH 1/1] Fixes to get CodeSourcery GCC and RVCT 3.1 compiling. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11298 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/ArmPkg.dsc | 10 +++++----- ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm | 10 +++++++--- ArmPkg/Universal/MmcDxe/MmcBlockIo.c | 16 ++++++++-------- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/ArmPkg/ArmPkg.dsc b/ArmPkg/ArmPkg.dsc index 8cc748c849..624473726c 100644 --- a/ArmPkg/ArmPkg.dsc +++ b/ArmPkg/ArmPkg.dsc @@ -35,7 +35,7 @@ XCODE:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG GCC:*_*_ARM_ARCHCC_FLAGS == -march=armv7-a -mthumb - GCC:*_*_ARM_ARCHASM_FLAGS == -march=armv7-a + GCC:*_*_ARM_ARCHASM_FLAGS == -march=armv7-a -mfpu=neon GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG RVCT:*_*_ARM_ARCHCC_FLAGS == --cpu Cortex-A8 --thumb @@ -94,10 +94,10 @@ ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf - ArmPkg/Library/ArmLib/Arm11/Arm11ArmLib.inf - ArmPkg/Library/ArmLib/Arm11/Arm11ArmLibPrePi.inf - ArmPkg/Library/ArmLib/Arm9/Arm9ArmLib.inf - ArmPkg/Library/ArmLib/Arm9/Arm9ArmLibPrePi.inf +# ArmPkg/Library/ArmLib/Arm11/Arm11ArmLib.inf +# ArmPkg/Library/ArmLib/Arm11/Arm11ArmLibPrePi.inf +# ArmPkg/Library/ArmLib/Arm9/Arm9ArmLib.inf +# ArmPkg/Library/ArmLib/Arm9/Arm9ArmLibPrePi.inf ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf diff --git a/ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm b/ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm index 4d6c253cd2..850bb9691c 100644 --- a/ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm +++ b/ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm @@ -12,6 +12,9 @@ // //------------------------------------------------------------------------------ +#include + + INCLUDE AsmMacroIoLib.inc EXPORT Cp15IdCode EXPORT Cp15CacheInfo @@ -41,9 +44,9 @@ Cp15CacheInfo ArmIsMPCore mrc p15,0,R0,c0,c0,5 - # Get Multiprocessing extension (bit31) & U bit (bit30) + // Get Multiprocessing extension (bit31) & U bit (bit30) and R0, R0, #0xC0000000 - # if bit30 == 0 then the processor is part of a multiprocessor system) + // if bit30 == 0 then the processor is part of a multiprocessor system) and R0, R0, #0x80000000 bx LR @@ -102,7 +105,8 @@ ArmSetTTBR0 ArmGetTTBR0BaseAddress mrc p15,0,r0,c2,c0,0 - and r0, r0, #0xFFFFC000 + LoadConstantToReg(0xFFFFC000,r1) // and r0, r0, #0xFFFFC000 + and r0, r0, r1 bx lr ArmSetDomainAccessControl diff --git a/ArmPkg/Universal/MmcDxe/MmcBlockIo.c b/ArmPkg/Universal/MmcDxe/MmcBlockIo.c index d8bd2d18b9..16af1d466b 100644 --- a/ArmPkg/Universal/MmcDxe/MmcBlockIo.c +++ b/ArmPkg/Universal/MmcDxe/MmcBlockIo.c @@ -34,24 +34,24 @@ MmcNotifyState ( } VOID PrintOCR(UINT32 ocr) { - float minv, maxv, volts; - int loop; + UINTN minv, maxv, volts; + UINTN loop; - minv = 3.6; - maxv = 2.0; - volts = 2.0; + minv = 36; // 3.6 + maxv = 20; // 2.0 + volts = 20; // 2.0 // The MMC register bits [23:8] indicate the working range of the card for (loop = 8; loop < 24; loop++) { if (ocr & (1 << loop)) { if (minv > volts) minv = volts; - if (maxv < volts) maxv = volts + 0.1; + if (maxv < volts) maxv = volts + 1; } - volts = volts + 0.1; + volts = volts + 1; } DEBUG((EFI_D_ERROR, "- PrintOCR ocr (0x%X)\n",ocr)); - //DEBUG((EFI_D_ERROR, "\t- Card operating voltage: %fV to %fV\n", minv, maxv)); + DEBUG((EFI_D_ERROR, "\t- Card operating voltage: %d.%d to %d.%d\n", minv/10, minv % 10, maxv/10, maxv % 10)); if (((ocr >> 29) & 3) == 0) DEBUG((EFI_D_ERROR, "\t- AccessMode: Byte Mode\n")); else -- 2.39.2