include: Define integer types for x86 arch
include: Add a multiboot header

This defines Multiboot boot information. See:

     http://www.gnu.org/software/grub/manual/multiboot/multiboot.html
emulation/bochs: Don't modify the generic floppy image

Instead of having one generic floppy image that is modified, there is a
blank floppy image which is used to generate the bootable image. This
means that the generated image can be ignored.
init: Add a common kernel entry point
arch/x86: Add link and boot descriptions
arch/x86: Add type size definitions and limits
build: Alphabetise the K_CFLAGS list
build: Include 'lib' directories

Include include/lib and <arch>/include/lib directories so that headers
may be included as toplevel '#include <foo.h>' files.
Enable GNU inline keyword extension

This enables using the __inline__ keyword in function prototypes.
build: Enable strict kernel compiler warnings

These extra warnings help enforce good programming practises as well as
performing an early bug-catching patch. The restrictive warnings on
stack usage and object size have been imposed with very strict values,
which are largely arbitrary and subject to change.
include: Define common preprocessor keywords

This includes keywords such as 'asm' and 'inline' and other
compiler-dependent functions, such as using diagnostic pragmas and
branch prediction.
Disable known warnings with diagnostics

This enables a clean build without warnings.
arch/x86: Add a ports header

This defines operations and values for ports on the x86 architecture.
lib: Add string.h and function implementations.

This adds fairly standard implementations for string.h, which offers a
number of string operations.
build: Only assign ARCH if not already set

This allows users to specify the build architecture at the command line,
without having to edit the Makefile. For example:

	$ make ARCH=foo all # Builds for 'foo' architecture
	$ make ARCH=bar all # Builds for 'bar' architecture
	$ make all # Builds for default architecture in Makefile
emulation/bochs: Add a 'bochs' build target

This defines a bochs target which automates the process of building,
preparing and booting the euclid kernel under bochs.
Documentation: Document the emulation tools
build: Fail if target architecture is invalid

This causes the build process to quit if the specified target
architecture is invalid (i.e., there is no arch/<arch>/ directory for
it). Example use:

	$ make ARCH=foo
	scripts/Makefile.kernel:83: *** target architecture 'foo' does \
		not exist. Stop