~fitzsim/grub

Add KBoot/GRUB glue code

Port memory_alloc, device_read, and fs_read to GRUB.
Port mezzano_locate_image to GRUB

As part of this port, support loading from a .image file or from a raw
device.  Check at the start of the byte range, and also just after the
KBoot partitions.  This allows loading an MBuild-produced .image
directly.
Remove some unused KBoot code
Port config_cmd_mezzano to grub_cmd_mezzano
Improve verbose message output

Flush output to the terminal on every mprintf invocation.  Work around a
GRUB compilation error due to the use of %.  Comment on implication of
retrieving the framebuffer pointer from GRUB.
Port adding pages to buddy allocator

Port KBoot-specific memory region traversal logic to GRUB.
Make some format strings GRUB-compatible

GRUB does not implement some of the format string extensions that KBoot
provides.  Simplify format strings that used these extensions.
Mark some parameters unused

Elimiate some compiler warnings.
Adjust mezzano_arch_enter_real calling conventions

Change mezzano_arch_enter_real's implementation to match where the
calling GRUB function places arguments.

Also load the global descriptor table.
Focus transition page table mappings

The GRUB Mezzano module does not know its own extents in memory.
Therefore only map the regions that are required in the transition page
table rather than attempting to map the whole module.
Rename __ASM__ preprocessor macro to ASM_FILE

KBoot uses __ASM__ where GRUB uses ASM_FILE.
Remove inclusions of unused KBoot headers
Remove some unneeded KBoot code

Remove code that causes build failures due to external references.
mezzano: Import files from KBoot

Import unmodified files from https://github.com/froggey/kboot.git
revision 92b9833fe69fe595e2e8ba42f60cfa63e8a30ce3.
Ignore docs/grub.info-1 and docs/grub.info-2
Hack around some build failures
Next