[coreboot-gerrit] Patch merged into coreboot/master: 4409a5e coreboot: add thread cooperative multitasking

gerrit at coreboot.org gerrit at coreboot.org
Tue May 14 05:18:48 CEST 2013


the following patch was just integrated into master:
commit 4409a5eef6d1d669caad1bfe3fbefee87ea7734e
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Mon May 6 12:20:52 2013 -0500

    coreboot: add thread cooperative multitasking
    
    The cooperative multitasking support allows the boot state machine
    to be ran cooperatively with other threads of work. The main thread
    still continues to run the boot state machine
    (src/lib/hardwaremain.c).  All callbacks from the state machine are
    still ran synchronously from within the main thread's context.
    Without any other code added the only change to the boot sequence
    when cooperative multitasking is enabled is the queueing of an idlle
    thread. The idle thread is responsible for ensuring progress is made
    by calling timer callbacks.
    
    The main thread can yield to any other threads in the system. That
    means that anyone that spins up a thread must ensure no shared
    resources are used from 2 or more execution contexts. The support
    is originally intentioned to allow for long work itesm with busy
    loops to occur in parallel during a boot.
    
    Note that the intention on when to yield a thread will be on
    calls to udelay().
    
    Change-Id: Ia4d67a38665b12ce2643474843a93babd8a40c77
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
    Reviewed-on: http://review.coreboot.org/3206
    Tested-by: build bot (Jenkins)
    Reviewed-by: Ronald G. Minnich <rminnich at gmail.com>


See http://review.coreboot.org/3206 for details.

-gerrit



More information about the coreboot-gerrit mailing list