none
WEC7, intel atom D2700 with adeneo BSP, SMP fail to boot RRS feed

  • Question


  • Hello,

    I am testing WEC7 on a intel D2700MUD board with a intel ATOM D2700 processor and NM10 chipset on it. with the BSP from adeneo-embedded.com, it is working fine until I enable SMP on it(IMGMPENABLE=1).

    with EC7's generic CEPC BSP, the system boot up OK with 4 logical processors.

    is there anyone using similar configuration and have SMP working?

    Windows CE Kernel for i486
    INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
    PCIInitConfigMechanism():ucConfigMechanism 0x1
    SearchPciBios end fails
     x86InitMemory(): dwAcpiPHYS = 0xCEFFE0AC
     x86InitMemory(): dwRamEndPHYS = 0x1f000000
     x86InitMemory(): dwRamTop(1)= 0xc0100000
     RAM reported to kernel 3073MB
     x86InitMemory():g_pOemGlobal->dwMainMemoryEndAddress = 0x9f000000
     Found ACPI but it was located above 496MB at 3311MBIDE deviceId = 0x27c0
    disLegacyUsbSupport LPC deviceId=0x27bc PMBase=0x400
    + disLegacyUsbSupport for NM10
    - disLegacyUsbSupport for NM10
    PID:00400002 TID:00410002  Found ACPI but it was located above 496MB at 3311MB

    Wednesday, September 17, 2014 10:03 AM

Answers

  • Hi,

    there was July'2013 QFE that improves SMP support. Common BSP library and the kernel were updated.

    Intel's BSP relies on Wave1 update (March'2013) and include cloned SMP library to itself, that can work with early kernel ONLY (before July'2013 update).
    So, if you are using fresh updates, you should update "sources" file for OAL:

    INTEL_CS\SRC\OAL\OALEXE\sources, replace
        $(_PLATLIB)\$(_CPUINDPATH)\oal_mpsupport_atom.lib \

    by

        $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_mpsupport_x86.lib \

    and rebuild BSP.


    • Edited by iShust Friday, October 17, 2014 7:06 AM
    • Proposed as answer by iShust Monday, October 20, 2014 6:36 AM
    • Marked as answer by KC Cheng - SW Tuesday, July 14, 2015 9:33 AM
    Thursday, October 16, 2014 6:46 AM

All replies

  • Hi KC Cheng,

    I'm working on a Intel Bay Trail and I've found the same problem, have you find a solution?

    Deeply exploration this issue, it seems that when system try to initialize AP CPU's, remains locked on DoSendIPI routine wating for this while cycle:

            // wait till all CPUs done with the IPI
            while (nCpus != g_nCpuIpiDone) {
                MDSpin ();
            }

    but g_nCpuIpiDone always remain set to 0.

    g_nCpuIpiDone is increased only in HandleIpi routine but it is never called by anyone.

    Wednesday, October 15, 2014 12:31 PM
  • Hi,

    there was July'2013 QFE that improves SMP support. Common BSP library and the kernel were updated.

    Intel's BSP relies on Wave1 update (March'2013) and include cloned SMP library to itself, that can work with early kernel ONLY (before July'2013 update).
    So, if you are using fresh updates, you should update "sources" file for OAL:

    INTEL_CS\SRC\OAL\OALEXE\sources, replace
        $(_PLATLIB)\$(_CPUINDPATH)\oal_mpsupport_atom.lib \

    by

        $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_mpsupport_x86.lib \

    and rebuild BSP.


    • Edited by iShust Friday, October 17, 2014 7:06 AM
    • Proposed as answer by iShust Monday, October 20, 2014 6:36 AM
    • Marked as answer by KC Cheng - SW Tuesday, July 14, 2015 9:33 AM
    Thursday, October 16, 2014 6:46 AM
  • Hi iShust,

    I've solved my problem, after changing my 'sources' file, the system start correctly.

    Thank you very much for you precise and detailed answer.

    Friday, October 17, 2014 6:46 AM
  • thanks for your information!
    Tuesday, July 14, 2015 9:48 AM