On 1 March 2016 at 18:46, Ryan Harkin <[email protected]> wrote:
> On 29 February 2016 at 15:36, Leif Lindholm <[email protected]> wrote:
>> On Mon, Feb 29, 2016 at 01:46:42PM +0000, Ryan Harkin wrote:
>>> >> This is a substantial contribution, and on inspection it looks fine.
>>> >> However, it does change bits of MmcDxe substantially - so I would
>>> >> really like to see some Tested-by:s for existing platforms.
>>> >>
>>> >> Ryan?
>>>
>>> I'd love to, but the only platform I have with an MMC card slot is
>>> TC2.  And MMC support as been broken in EDK2 on TC2 for some time.
>>>
>>> The last time I saw it working was at this point:
>>>
>>> 203bead  2015-07-01  There needs to be a space between the output
>>> section name and the colon, i.e.,     [Ard Biesheuvel]
>>>
>>> But that point doesn't boot on TC2 unless you revert this patch:
>>>
>>> d340ef7  2014-08-26  ArmPkg/ArmArchTimerLib: Remove non required
>>> [depex] and IoLib      [Olivier Martin]
>>>
>>> I'll add it to my list of other things someone else broke that I have to 
>>> fix.
>>
>> Evan, you mentioned you still use TC2 from time to time?
>>
>> Ryan: Other than that - does this break MMC on the virtual platforms you
>> look after?
>>
>
> Now that TC2 is working again, I'll test this series tomorrow.  I'll
> check FVP while I'm at it.

Ha! I remembered I'd already started this before I found that TC2 was broken.

I'm afraid these patches don't work for me.  I've not done any
investigation at all, just stacked them on top of my tree with my
PL180 fixes already included via the latest tiancore/master branch.

TC2 hangs after this output:

add-symbol-file
/working/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/DEBUG_GCC49/ARM/ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe/DEBUG/PL180MciDxe.dll
0xBF6D7220
Loading driver at 0x000BF6D7000 EntryPoint=0x000BF6D7251 PL180MciDxe.efi
Probing ID registers at 0x11C050FE0 for a PL180
Card is SD2.0 => Supports high capacity
- PrintOCR Ocr (0x80FF8000)
    - Card operating voltage: 2.7 to 3.6
    - AccessMode: Byte Mode
    - PowerUp
- PrintCID
    - Manufacturing date: 7/11
    - Product serial number: 0x4000CCD2
    - Product revision: 128
    - OEM ID: DS
- PrintRCA: 0xE6240520
    - Status: 0x520
    - RCA: 0xE624
- PrintCSD Version 2.00/High Capacity
    - Supported card command class: 0x5F5
    - Speed: 3.0 10Mbit/s
    - Maximum Read Data Block: 1024
    - Maximum Write Data Block: 1024
    - Format (0): Hard disk-like file system with partition table


And FVP was fine before I added these patches, but crashes with them:

Loading driver at 0x000FAE97000 EntryPoint=0x000FAE97280 PL180MciDxe.efi
Probing ID registers at 0x1C050FE0 for a PL180
Not a SD2.0 Card
- PrintOCR Ocr (0x80000000)
    - Card operating voltage: 3.6 to 2.0
    - AccessMode: Byte Mode
    - PowerUp
- PrintCID
    - Manufacturing date: 11/17
    - Product serial number: 0x1CA4D0
    - Product revision: 99
    - OEM ID:
- PrintRCA: 0x0
    - Status: 0x0
    - RCA: 0x0
- PrintCSD Version 1.01-1.10/Version 2.00/Standard Capacity
    - Supported card command class: 0x35
    - Speed: 1.2 1Mbit/s
    - Maximum Read Data Block: 2048
    - Maximum Write Data Block: 2048
    - Format (0): Hard disk-like file system with partition table


Synchronous Exception at 0x00000000FAEE1BC8
/working/platforms/uefi/edk2/Build/ArmVExpress-FVP-AArch64/DEBUG_GCC49/AARCH64/EmbeddedPkg/Universal/MmcDxe/MmcDxe/DEBUG/MmcDxe.dll
loaded at 0x00000000FAED9000

  X0 0x8000000000000012   X1 0x8000000000000012   X2
0x00000000FFFFFFD8   X3 0x00000000FAEE3280
  X4 0x00000000FEFFF4A0   X5 0x0000000000000000   X6
0x00000000FAEE3D48   X7 0x0000000000000003
  X8 0x00000000FA8A4CD8   X9 0x0000000900000000  X10
0x0000000000030000  X11 0x0000000000000000
 X12 0x00000000703FE07A  X13 0x0000000000000000  X14
0x0000000000000000  X15 0x0000000000000000
 X16 0x00000000FEFFFBF0  X17 0x0000000000000000  X18
0x0000000000000000  X19 0x00000000FEFFF4A0
 X20 0x0000000000000000  X21 0x0000000000000000  X22
0x0000000000000000  X23 0x0000000000000000
 X24 0x0000000000000000  X25 0x0000000000000000  X26
0x0000000000000000  X27 0x0000000000000000
 X28 0x0000000000000000   FP 0x0000000000000000   LR 0x00000000FAEE0BAC

  V0 0x0000000000000000 0000000000000000   V1 0x0000000000000000
0000000000000000
  V2 0x0000000000000000 0000000000000000   V3 0x0000000000000000
0000000000000000
  V4 0x0000000000000000 0000000000000000   V5 0x0000000000000000
0000000000000000
  V6 0x0000000000000000 0000000000000000   V7 0x0000000000000000
0000000000000000
  V8 0x0000000000000000 0000000000000000   V9 0x0000000000000000
0000000000000000
 V10 0x0000000000000000 0000000000000000  V11 0x0000000000000000
0000000000000000
 V12 0x0000000000000000 0000000000000000  V13 0x0000000000000000
0000000000000000
 V14 0x0000000000000000 0000000000000000  V15 0x0000000000000000
0000000000000000
 V16 0x0000000000000000 0000000000000000  V17 0x0000000000000000
0000000000000000
 V18 0x0000000000000000 0000000000000000  V19 0x0000000000000000
0000000000000000
 V20 0x0000000000000000 0000000000000000  V21 0x0000000000000000
0000000000000000
 V22 0x0000000000000000 0000000000000000  V23 0x0000000000000000
0000000000000000
 V24 0x0000000000000000 0000000000000000  V25 0x0000000000000000
0000000000000000
 V26 0x0000000000000000 0000000000000000  V27 0x0000000000000000
0000000000000000
 V28 0x0000000000000000 0000000000000000  V29 0x0000000000000000
0000000000000000
 V30 0x0000000000000000 0000000000000000  V31 0x0000000000000000
0000000000000000

  SP 0x00000000FEFFF320  ELR 0x00000000FAEE1BC8  SPSR 0x60000309  FPSR
0x00000000
 ESR 0x96000004          FAR 0x8000000000000012

 ESR : EC 0x25  IL 0x1  ISS 0x00000004

Data abort: Translation fault, zeroth level
ASSERT [ArmCpuDxe]
/working/platforms/uefi/edk2/ArmPkg/Library/DefaultExceptionHandlerLib/AArch64/DefaultExceptionHandler.c(184):
((BOOLEAN)(0==1))


Haojian, you should be able to try this yourself on the FVP models.
If you want to give it a go, here is a good place to start:

Get your models from here:
https://collaborate.linaro.org/display/IKB/FlexLM+and+Fast+Models

Get your software stack from here:
https://community.arm.com/docs/DOC-10831

Then hack ./model_scripts/run_model.sh to add " -C
bp.mmc.p_mmc_file=<filename.img>" to the model launch command.  Where
filename.img must be a 2GB or less disk image, eg this one will do
after you unzip it:

https://releases.linaro.org/android/reference-lcr/fvp/6.0-16.02/fvp.img.bz2
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to