proj: README: added contents to the readme file.

The README file now contains a generic description of the ETA/OS project
helping people new to this project to get going. The README file uses a
MARKDOWN language for styling purposes.

Signed-off-by: Michel Megens <dev@michelmegens.net>
proj: README: renamed README to README.md

Renamed the readme file to trigger the markdown markup used in the
README file on several githosting sites.

Signed-off-by: Michel Megens <dev@michelmegens.net>
readme: markdown: fixed a markdown error.

The license part of the readme wasn't being rendered correctly by
markdown engines. Fixed up now.

Signed-off-by: Michel Megens <dev@michelmegens.net>
doc: doxygen: added doxy docs to the stdio lib.

Added doxygen style API documentation to the STDIO library.

Signed-off-by: Michel Megens <dev@michelmegens.net>
doc: string: added documentation to libc/string.

Added doxygen style documentation to the LibC string runtime library.
Docs have been added to:

	* strchr
	* stcmp
	* strlen
	* strnlen

Signed-off-by: Michel Megens <dev@michelmegens.net>
doc: doxy: added doxygen comments to mm.

Documented the memory manager using Doxygen comments.

Signed-off-by: Michel Megens <dev@michelmegens.net>
doc: doxygen: added comments to IRQ and TIME.

The IRQ and TIME subsystems are now commented using doxygen comments.
Also I have added a layout file to configure the layout of doxygen.

Signed-off-by: Michel Megens <dev@michelmegens.net>
readme: added some extra features to the list.

Added these features to the list:

	* IRQ management
	* Timer management

Signed-off-by: Michel Megens <dev@michelmegens.net>
Merge branch 'doc'

* Documentation in:
	- LibC
	- IRQ management
	- Driver core
	- Timer management
	- Memory management
	- Architecture API

* Added printf
* Minor bug fixes
Merge branch 'sched'

* Scheduler
	- Semi SMP ready
	- Thread queue's
	- Event queue's
	- Optimized spinlocks

* Fixes in Kconfig files
* Updates on .gitignore

Signed-off-by: Michel Megens <dev@michelmegens.net>

Conflicts:
	include/etaos/irq.h
	include/etaos/mem.h
	include/etaos/time.h
	mm/mlist.c
	usr/tests/mm/mmtest.c
sched: doc: added docs to the scheduling subsystem

All of the scheduling core, the threading API and the event subystem are
now commented using doxygen.

Signed-off-by: Michel Megens <dev@michelmegens.net>
sched: doc: added docs to the rr scheduler

* Added doxygen style code comments to rr.c - the backend source of the
  round robin scheduler.

* Updated the documentation on the sched_class structure.

Signed-off-by: Michel Megens <dev@michelmegens.net>
sched: core: fixed a lock bug in rq_destroy_kill_q

rq_destroy_kill_q is responsible for killing all threads in the kill
queue of a run queue (usually not more then one). However, it is still
important that this happens securely, while the run queue is locked.
This process wasn't happening securely up untill now. The run queue lock
is release by rq_schedule (the caller of this function), just before it
calls rq_destroy_kill_q.

Fixed by adding lock calls to rq_destroy_kill_q.

Signed-off-by: Michel Megens <dev@michelmegens.net>
sched: core: implemented a prio change: nice()

`nice` is the traditional name of the function to change the priority of
the currently running thread or task. The nice in ETA/OS works as
follows:

	* save the old priority
	* set the new one
	* call yield to see if other threads became more important
	* return the old priority

Signed-off-by: Michel Megens <dev@michelmegens.net>
doc: abstracted all module documentation.

Added all the documentation for modules in a single file:
Documentation/etaos_en.txt

Source files only contain member documentation.

Signed-off-by: Michel Megens <dev@michelmegens.net>
ETA/OS 0.1.0-rc1

Signed-off-by: Michel Megens <dev@michelmegens.net>
doc: updated the doxygen layout file.

Removed some of the header links.

Signed-off-by: Michel Megens <dev@michelmegens.net>
sched: core: fixed a rq_list_remove bug.

rq_list_remove was bugged if the entry we were looking for wasn't the
first entry in the list. The carriage variable was never set to the next
item in the list. Fixed by adding:

carriage = carriage->rq_next;

irq: thread: added support for threaded IRQ's.

The API to created threads ran in threaded context already existed, but
it wasn't implemented yet. This commit adds an implementation to the
API.

Signed-off-by: Michel Megens <dev@michelmegens.net>
ETA/OS 0.1.0-rc2

Signed-off-by: Michel Megens <dev@michelmegens.net>
irq: doc: added documentation to threaded IRQ code

All code supporting threaded IRQ's is now documented using doxygen.

Signed-off-by: Michel Megens <dev@michelmegens.net>