Add simple cooperative threading scheme to allow parallel hw init.
authorKevin O'Connor <kevin@koconnor.net>
Sat, 24 Oct 2009 21:57:29 +0000 (17:57 -0400)
committerKevin O'Connor <kevin@koconnor.net>
Sat, 24 Oct 2009 21:57:29 +0000 (17:57 -0400)
commita5826b5ad482f44d293387dc7513e5e98802a54e
treeb31a834be5abd9ccafa28fff0059267ea9710b65
parent7edaa658f625125c306fd971cbda5d5afaee273b
Add simple cooperative threading scheme to allow parallel hw init.

Enable system for running hardware initialization in parallel.
The yield() call can now round-robin between "threads".
Rework ata controller init to use a thread per controller.
Make sure internal drives are registered in a defined order.
Run keyboard initialization in a thread.
Rework usb init to use a thread per controller.
13 files changed:
src/ata.c
src/boot.c
src/config.h
src/kbd.c
src/post.c
src/usb-hid.c
src/usb-ohci.c
src/usb-ohci.h
src/usb-uhci.c
src/usb-uhci.h
src/usb.c
src/util.c
src/util.h