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
This commit is contained in:
andrewfish 2011-02-03 01:49:07 +00:00
parent 2ac288f919
commit 507ebc1a35
3 changed files with 20 additions and 16 deletions

View File

@ -35,7 +35,7 @@
XCODE:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG XCODE:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
GCC:*_*_ARM_ARCHCC_FLAGS == -march=armv7-a -mthumb 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 GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
RVCT:*_*_ARM_ARCHCC_FLAGS == --cpu Cortex-A8 --thumb RVCT:*_*_ARM_ARCHCC_FLAGS == --cpu Cortex-A8 --thumb
@ -94,10 +94,10 @@
ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
ArmPkg/Library/ArmLib/Arm11/Arm11ArmLib.inf # ArmPkg/Library/ArmLib/Arm11/Arm11ArmLib.inf
ArmPkg/Library/ArmLib/Arm11/Arm11ArmLibPrePi.inf # ArmPkg/Library/ArmLib/Arm11/Arm11ArmLibPrePi.inf
ArmPkg/Library/ArmLib/Arm9/Arm9ArmLib.inf # ArmPkg/Library/ArmLib/Arm9/Arm9ArmLib.inf
ArmPkg/Library/ArmLib/Arm9/Arm9ArmLibPrePi.inf # ArmPkg/Library/ArmLib/Arm9/Arm9ArmLibPrePi.inf
ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf
ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf

View File

@ -12,6 +12,9 @@
// //
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
#include <AsmMacroIoLib.h>
INCLUDE AsmMacroIoLib.inc
EXPORT Cp15IdCode EXPORT Cp15IdCode
EXPORT Cp15CacheInfo EXPORT Cp15CacheInfo
@ -41,9 +44,9 @@ Cp15CacheInfo
ArmIsMPCore ArmIsMPCore
mrc p15,0,R0,c0,c0,5 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 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 and R0, R0, #0x80000000
bx LR bx LR
@ -102,7 +105,8 @@ ArmSetTTBR0
ArmGetTTBR0BaseAddress ArmGetTTBR0BaseAddress
mrc p15,0,r0,c2,c0,0 mrc p15,0,r0,c2,c0,0
and r0, r0, #0xFFFFC000 LoadConstantToReg(0xFFFFC000,r1) // and r0, r0, #0xFFFFC000
and r0, r0, r1
bx lr bx lr
ArmSetDomainAccessControl ArmSetDomainAccessControl

View File

@ -34,24 +34,24 @@ MmcNotifyState (
} }
VOID PrintOCR(UINT32 ocr) { VOID PrintOCR(UINT32 ocr) {
float minv, maxv, volts; UINTN minv, maxv, volts;
int loop; UINTN loop;
minv = 3.6; minv = 36; // 3.6
maxv = 2.0; maxv = 20; // 2.0
volts = 2.0; volts = 20; // 2.0
// The MMC register bits [23:8] indicate the working range of the card // The MMC register bits [23:8] indicate the working range of the card
for (loop = 8; loop < 24; loop++) { for (loop = 8; loop < 24; loop++) {
if (ocr & (1 << loop)) { if (ocr & (1 << loop)) {
if (minv > volts) minv = volts; 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, "- 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) if (((ocr >> 29) & 3) == 0)
DEBUG((EFI_D_ERROR, "\t- AccessMode: Byte Mode\n")); DEBUG((EFI_D_ERROR, "\t- AccessMode: Byte Mode\n"));
else else