[Fw_Os_Forum] Support for EFI MP Services

Brett Stahlman brettstahlman at gmail.com
Mon Jul 18 09:57:36 EDT 2016


Acan,
No. I was not aware there was a non-PI protocol. I will check to see
whether it's supported by my firmware.

Thanks,

Brett S.

On Jul 17, 2016 8:34 PM, "Chen, Ming (Acan, DTD-SH)" <ming.chen at hp.com>
wrote:

> Hi Brett,
>
> Just mention that there are two MP Service protocols: Framework MP Service
> Protocol, and (PI) MP Service Protocol.
> Note sure if you have tried both when you BS->LocateProtocol()?
>
>
> Thanks,
> Acan
>
> -----Original Message-----
> From: fw_os_forum-bounces at mailman.uefi.org [mailto:
> fw_os_forum-bounces at mailman.uefi.org] On Behalf Of Brett Stahlman
> Sent: Saturday, July 16, 2016 3:27 AM
> To: fw_os_forum at mailman.uefi.org
> Subject: Re: [Fw_Os_Forum] Support for EFI MP Services
>
> Aaron,
> So methods like GetNumberOfProcessors and StartupAllAPs (documented here
> http://www.uefi.org/sites/default/files/resources/Plugfest_Multiprocessing-with_UEFI-McDaniel.pdf
> )
> are not meant to be called from a boot loader using Boot Services?
>
> I will have a look at the other references. Hopefully the firmware's AP
> initialization obviates the need for some of the tedious, low-level real
> mode trampoline code I've seen in the kernel and other loader code
> performing AP bring up... If UEFI simplifies only the BSP side of things,
> it doesn't seem a very complete solution...
>
> Thanks,
> Brett S.
>
> On Fri, Jul 15, 2016 at 11:28 AM,  <Aaron.Pop at congatec.com> wrote:
> > Hi Brett,
> >
> >>>1. Is there a way to add support for MP Services to firmware that
> >>>doesn't  have it natively? Is there a list somewhere documenting
> >>>which firmware  supports?
> > If you platform doesn't support the MP services protocol, chances are
> > that your platform is not compliant with the Platform Initialization
> > specification.  Additionally, the PI specification defines protocols
> > that are intended for use by the firmware, not by boot loaders or the
> > OS. I would highly recommend that your boot loader only use protocols
> > that are defined in the UEFI specification.
>
>
> >
> >>>2. What is the best way to bring up the APs in an environment that
> >>>doesn't  support the MP Services Protocol? I've read something that
> >>>suggests it might  be easier with UEFI than with BIOS because the PI
> >>>firmware does some  pre-initialization of the APs even before handoff
> >>>to the BSP - but I haven't  found much documentation on this...
> > X86/X86_64 operating systems follow intel's multi processor
> > specification for waking APs when they are given control.
> > (http://download.intel.com/design/archives/processors/pro/docs/2420160
> > 6.pdf) All firmware (even legacy BIOSes) would initialize all
> > processors in the system, and then would either halt the APs, or put
> > the APs into a spin loop and only leave the BSP (boot strap processor)
> > running when giving control to a bootloader.
> >
> > For more information, you can refer to
> > http://wiki.osdev.org/Symmetric_Multiprocessing, or you can check out
> > how the linux kernel performs multi processor bring up.
> >
> > -Aaron
> >
> >
> >
> >
> >
> >
> > From:        Brett Stahlman <brettstahlman at gmail.com>
> > To:        fw_os_forum at mailman.uefi.org
> > Date:        07/15/2016 09:11 AM
> > Subject:        [Fw_Os_Forum] Support for EFI MP Services
> > Sent by:        fw_os_forum-bounces at mailman.uefi.org
> > ________________________________
> >
> >
> >
> > I'm working on an x86_64 UEFI boot loader that runs on the BSP in
> > 64-bit long mode, and must bring up APs (secondary processors) after
> > some preliminary initialization. I've seen some documentation on EFI
> > MP (multi-processor) Service Protocol, but the headers in gnu-efi
> > don't appear to support it, and BS->LocateProtocol() reports status 14
> > (EFI_NOT_FOUND). My questions are...
> >
> > 1. Is there a way to add support for MP Services to firmware that
> > doesn't have it natively? Is there a list somewhere documenting which
> > firmware supports?
> > 2. What is the best way to bring up the APs in an environment that
> > doesn't support the MP Services Protocol? I've read something that
> > suggests it might be easier with UEFI than with BIOS because the PI
> > firmware does some pre-initialization of the APs even before handoff
> > to the BSP - but I haven't found much documentation on this...
> >
> > Any help would be greatly appreciated.
> > Thanks,
> > Brett S.
> _______________________________________________
> Fw_os_forum mailing list
> Fw_os_forum at mailman.uefi.org
> http://lists.mailman.uefi.org/mailman/listinfo/fw_os_forum
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mailman.uefi.org/pipermail/fw_os_forum/attachments/20160718/fde3ca2b/attachment.html>


More information about the Fw_os_forum mailing list