README: Add additional build dependencies

Java and wget are now dependencies as well. Don't be surprised to see us
download the build system!

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
vfs: add slab allocator and alter open symantics

VFS now caches and the open symantics don't require the stream to be
coupled to a URI.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
fix: mm: alloc: Allocation alignment bug

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
fs: Rm buffer, add vfs abstractions

Buffer functionality is now taken over by vfs cache code.

Future features will include a ram based filesystem.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
tree: Add cache and early boot allocation option

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
vfs: Add cache writethrough mechanic

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
doxyfile: include the header directory

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
atomic: Make the atomics more usable

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
Add: fs syscall management and initialisation

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
Merge branch 'testing' into vfs

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>

Conflicts:
	src/andromeda/core.c
Fix: Detected hang in memory allocator

When the slab allocator would run out of memory, it would request more
memory from the vm allocator. This in turn would require more memory
from the slab allocator.

This circulair dependency is not so much of an issue if the allocator
would move on to the next empty slab but it didn't.

Also there would be an issue of the slab allocator requiring another
slab to produce slab descriptors, which could also block up.

The slab descriptors are now part of the slab they describe and are
referenced at the start of the object. This might cause the slab to
contain a tiny bit fewer objects but it does fix the issue that came
with allocating more descriptors.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
Link: Remove wasted initial slab space

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
dbg: Add stack trace to panic!

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
SLOB: Fix out of memory problem!

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
test_script: Simplify a whole bunch

The iso test and regular testing script are now merged into one. The
features are split up by commandline arguments.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
slob: alloc: split: Fix header init placement bug

Because the header size was not taken into account when creating the new
header, the header init function simply created a new header, even if it
did not fit.

With this fix in place, the hdrInit function takes this into account and
returns an error if the size of the block is too small for anything
usable to be allocated.

Also, the placement of the initial heap has been fixed to be relative
the the kernel code position.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
build: Fix a whole bunch of warnings

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
build: Add optimization and debug compiler options

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
build: Add version checking.

Previously if there was a newer version to be used, the build system
would not be able to detect that.

With the current system, a newer version, requires the setting of the
$BUILD_VARIABLE in the scripts/get_build.sh script, and it will fetch
the new version.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>