vmem: Fixed first initialisation bug

The allocator didn't take the page size into account. A very straight forward
brain fart at the moment it was put in.
vmem: Added a new check for required preconditions

The current buddy allocator needs to have all its blocks lined up to their own
size. Since the current initialisation scheme allocates the largest sizes first
the most logical choice is to require the base pointer to be aligned to the
size of the first object.
vmem: Fixed alignment check

There was a small bug in the last commit. It's fixed now, or so I hope
vmem: Added tests and fixed allocation bug

At the moment there's a couple of known freeing bugs, didn't get the chance
to fix them yet. Working on it!
sched: Improved on the context switch
vmem: Fixed bug in freeing code

The bug in the freeing code turned out to be a bug in the allocating code. I
forgot to add one single line which messed up the previous pointer so that
references were lost, and the code thought there were blocks remaining, where
there weren't.
vmem_buddy: Added system register and unregister

The buddy systems have to be found by slab allocators which are running
out of memory, in order to request some new slabs. Register and unregister
make it either possible or impossible for the slab allocator to find those
systems.
gen: Fixed comments
gen: Add *.patch to .gitignore
make: Refactor main makefile

The basic makefile structure has been slightly altered, so that it can
be generated by some kind of script/config builder in the near future.
vmem: buddy: Code style and refactor

Some lines went over 80 chars, that's fixed now.

vmem_buddy_alloc is now vmem_buddy_system_alloc
vmem_buddy_free is now vmem_buddy_system_free.
This to make the old names free for the generic allocator

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
mm: mmap: Fix code style

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
gen: gitignore: Added *.o*

As it turns out  sometimes  a  weird  file  of this sort ends up in the
kernel tree. This change will help assis that this never happens again.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
gen: Cleaned up some strange random file

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

Gen: Get the current branch up to date with upstream

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
mm: paging: pte: Added page table, and entry

There now are 2 new structures called pte and pte_shadow.  The pte will
be the page table used by the CPU. pte_shadow will be the table used by
the kernel to figure out where to reference the actal page tables.

The structure of pte now replaces the old plain array,  that was in use
untill  now.  This  will  eventually  become a complete  rewrite of the
existing paging administration.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
mm: paging: pte: Add stubs

In this commit new function stubs are added, in order to administer the
pte's. Comments included.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
mm: paging: pte: Add sourcefile

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
mm: pte: Add init function

Some numbers  were cleaned  and  an intialisation  function for X86 are
added in this commit.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>
mm: pte: Add call

The call to pte_init was added.

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