diff options
Diffstat (limited to 'ArmPkg')
-rw-r--r-- | ArmPkg/ArmPkg.dsc | 10 | ||||
-rw-r--r-- | ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm | 10 | ||||
-rw-r--r-- | 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 <AsmMacroIoLib.h> + + 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
|