Raspberry Pi 5 unable to use multi-processor for memtest86

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Justinus
    Junior Member
    • Apr 2024
    • 4

    #1

    Raspberry Pi 5 unable to use multi-processor for memtest86

    Hello!

    I am in the process of preparing several raspberry pi 5's for deployment over the next few months. I always use memtest86 to validate new hardware before deployment, and I was pleased to see that I can run it on Pi's as well (who knows when you'll get something with bad ram?)

    Initially I was using it on 10.7, where it was unable to use multi-processor. After I saw the 11.0 update notes, I was pleased to see preliminary multi-processor support for ARM64 was added as it could help shave off a lot of time these pi's sit testing.

    Sadly, it still fails to use multi-processor citing the same error as 10.7 - "[UEFI Firmware Error] Could not start CPU 1". I have attached the log.

    In order to boot UEFI based operating systems, RPI requires a third party UEFI, found here: GitHub - worproject/rpi5-uefi: EDK2 firmware images for Raspberry Pi 5
    Other operating systems booting from this UEFI are able to access and use all 4 processors, so I don't think it's an issue with the UEFI itself, although I cannot fully rule it out.

    Any assistance would be appreciated.
    Attached Files
  • David (PassMark)
    Administrator
    • Jan 2003
    • 11092

    #2
    Does V11 run OK with 1 thread active?

    The ARM / UEFI multi-threading testing we did was more focused on the newer ARM Surface Laptops (the older ARM laptops also didn't support threading).

    We'll take a look at the log.

    Comment

    • Justinus
      Junior Member
      • Apr 2024
      • 4

      #3
      Yeah, by default it runs in single core mode and it runs normally.

      Comment

      • keith
        Employee
        • Oct 2010
        • 718

        #4
        Thanks for the logs.

        2024-03-16 03:44:52 - Testing MP support
        2024-03-16 03:44:52 - MPSupportTestMPServices - AP dispatch test
        2024-03-16 03:44:52 - MPSupportTestMPServices - Starting AP#1
        2024-03-16 03:44:52 - MPSupportTestMPServices - Could not start AP#1 (Unsupported).
        2024-03-16 03:44:52 - MPSupportTestMPServices - Waiting for AP's to complete execution
        2024-03-16 03:44:52 - MPSupportTestMPServices - AP dispatch test complete
        2024-03-16 03:44:52 - MP test failed. Setting default CPU mode to SINGLE
        It appears that this particular UEFI implementation doesn't fully support multiprocessing when running in the UEFI pre-boot environment. Note that this is does not affect the multiprocessing behaviour after the O/S boots, where it is no longer running in the UEFI pre-boot environment.

        So until there is updated firmware that supports multiprocessing, only single CPU mode is available.

        Comment

        • Justinus
          Junior Member
          • Apr 2024
          • 4

          #5
          I'll take a look at the UEFI implementation and see if anything can be done. Thanks for the expert diagnosis!

          Comment

          • Mike2024
            Newbie
            • Apr 2024
            • 1

            #6
            I also have same problem In Arm Server,when MT86 run Multi Core Case,So my question is Arm And X86 Server can Use Protocol/MpService.h?

            Comment

            • David (PassMark)
              Administrator
              • Jan 2003
              • 11092

              #7
              We have seen several ARM platforms that support multi-threading in UEFI BIOS (Microsoft got it working on their Surface ARM laptops for example). But also many that don't.

              Honestly we are surprised it isn't working on all machines. Multi-threading isn't something new and it fairly fundamental for modern computing. So it is pretty surprising the ARM UEFI community never implemented it.

              Comment

              Working...