On 03/05/2014 04:21 PM, Rafael Machado wrote:
> Hi Everyone
>
> I'm currently doing my MSc in Computer Science and my idea is to do this
> task as my final work:
>
> http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Tasks/UefiCpuPkg/CpuDxe_MP_support
>
> I still have some time (two years) to finish the course, but I'l already
> talking with a teacher to help me. During our last meeting, the teacher
> asked me:
>
> "What are the goals of doing this ?"
>
> On my point of view, one of the goals is to be able to use all
> processors during the boot process, so the main processor can delegate
> taks to the other processors.
>
> Is this really the idea of this task ?

No answers yet, so I'll give it a shot.

I don't know what the original task author had in mind...

On Ia32/X64, MpServices is mainly used to initialize the CPU h/w.  There 
are some tasks, such as writing the local APIC, MSRs, and MTRRs, which 
can only be done from the local CPU.  None of these tasks appear to be 
necessary in a virtual or emulated environment (such as OVMF), which may 
explain why it hasn't been implemented for OVMF or DUET so far.

Some platforms may have special requirements which would benefit from 
running multiple CPUs at once.  For example, you could implement a 
robust, parallel memory test or coherence test.  Or you could port 
low-level benchmarks such as STREAMS.  That may be outside the scope of 
your project...

> As is described on the details of this taks, the Intel material has all
> information needed to do this and I'm already reding it, but Is there
> any other kind of material that I can read to understand better the boot
> of multiprocessor ? I already have some books, but maybe some other
> source of information can help even more.

SeaBios may have some MP init. code; I'm not sure.

BSD would have code for handling a SIPI interrupt on an AP, 
transitioning to protected mode and long mode, etc.  (So would Linux, 
but the license is incompatible with EDK2.  That wouldn't affect your 
project per se, but would prevent you from submitting the code back to 
TianoCore.)
-- 

                                                 Brian

--------------------------------------------------------------------

    "I don't believe personal letters sent bulk rate."
                                            -- me

------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to