made the multiboot header 64bit-safe
began to move the x86-dependent files into their own folder
removed the gdt-namespace (looked ugly)
moved start.asm to the x86-directory
removed the idt-namespace (looked ugly)
removed more namespaces
began the vfs
removed the cpu-namespace
implemented irq masking for the PIC
implemented reading and writing of Model-Specific-Registers (MSRs)
more APIC stuff (WARNING: kernel won't work atm)
qemu script now uses 2 cpus
extended vfs
some small APIC related stuff

! fixed reading local APIC base address
* renamed apic_init to lapic_init
+ added stub for ioapic_init
* actually use the constants we have
added more APCI functionality

+ added EOI for APIC
+ added global varibale indicating whether the APIC has been enabled
+ added asserts to make sure that the APIC has been enabled before using it
+ added a simple stacktrace-sub (needs improvements, doesn't use symbol table yet)
removed the debug-namespace (if you wonder why: namespaces make the symbol table look _extremely_ ugly - so they have to go)
* space for the cpuid-vendor-string should be provided by the caller
the kernel is now completely namespace-free
disabled apic (apic specific stuff now happens in the apic branch)
improved rs232 kernel code
big kernel patch (with lots of changes)

+ implemented thread_destroy, which kills a thread
+ implemented thread_deactivate, which disables a running/ready thread
! fixed linked-list corruption in thread_activate
+ implemented process_remove_thread, which removes a thread from a process
+ implemented creation of popup-threads
+ implemented spurious-IRQ-detection
! correct handling of spurious IRQs
+ implemented registering for IRQs (except the timer-IRQ)
+ implemented IRQ-masking
* the init-process now gets a stack reserved by the kernel
* init now tests port-registering, IRQ-registering and IRQ-popup-threads (it uses the keyboard controller for that)
! the magic number of the ELF-header is now an ubyte-array instead of an uinteger (former implementation had endianess-problems)
* out and inp are now named outb and inb
* moved the syscall-definitions from syscall.bi to syscall_defs.bi
! fixed vmm_unmap_range unmapping more pages than requested
* it's now possible to pass lower_limit and upper_limit to find_free_pages instead of it using hardcoded values
+ implemented vmm_automap
* vmm_kernel_automap now just calls vmm_automap with the current context and the kernels limits
+ assert now prints a stacktrace
* cpu_get_vendor now directly uses the passed zstring pointer instead of a static variable (makes it SMP-safe)
- removed debugging-output from io_man.bas
! fixed kmm's insert_hole crashing when the list of free blocks was (temporarily) empty
* made the check for is_hole in kfree an assert because theres no userspace influence involved
! fixed wrong assert in kfree
! made do_add in kfree a boolean instead of a byte
* mark the cmdline of the multiboot-modules as used in the pmm
! fixed SYSCALL_THREAD_CREATE
* the scheduler now kills threads that couldn't be killed by thread_destroy because they were active
+ implemented an idle-thread which runs in the contect of init, but in ring-0
* cleaned up zstring_len and zstring_instr
! fixed zstring_instr returning an undefined value under certain conditions
+ implemented zstring_cmp and zstring_ncmp (not used yet, but useful for cmdline parsing)
+ added pci- and vgaconsole-modules (only stubs at the moment)