mini-os: fixed format string error in unbind_evtchn

Would crash if HYPERVISOR_event_channel_op returned an error code.
mini-os: use unbind_evtchn in unbind_all_ports

This marks the channel as closed, in case someone tries to use it again.
mini-os: made off_t type signed

POSIX requires this.
mini-os: arm: show registers and exception vector on fault
mini-os: dump stack on fault
mini-os: import libfdt

Signed-off-by: Karim Allah Ahmed <karim.allah.ahmed@gmail.com>
[talex5@gmail.com: split out FDT support into a separate patch]
[talex5@gmail.com: fixed "make clean" for FDT]
Signed-off-by: Thomas Leonard <talex5@gmail.com>
mini-os: get RAM base and size from the FDT
mini-os: preserve device tree when initialising MM

Move the device tree to a reserved area at the end of the RAM.
mini-os: get GIC addresses from FDT
mini-os: added arch_endian.h for ARM
mini-os: added ARM grant table initialisation

On x86, we get told which pages to use, but on ARM we get the base
address in the FDT and have to map each page.
mini-os: networking on ARM

Set MEM_ALIGNMENT=4 to request word-aligned memory access. However, this
does not cover all cases in lwIP, so also configure the CPU to allow
unaligned accesses.
mini-os: reorganised arch headers

Before, we had:

- include
- include/arm
- include/x86

Where either arm or x86 was added directly to the search path. So
<x86/arch_limits.h> was the same file as <arch_limits.h> on x86.

We now have:

- include
- arch/arm/include
- arch/x86/include

This means that only the second form is now legal. It also simplifies
installation of the headers, since we can now install everything in the
include directory without getting files for other archs.
mini-os: added make install target

This installs libminios.a, the linker script, the headers and a
pkg-config file to locate them.
mini-os: expose gnttab_table, NR_GRANT_FRAMES, etc

Needed by Mirage.
mini-os: arm: unbind debug port at shutdown before unbind_all_ports

Before, we called this after unbind_all_ports, leading to a crash.
Hacks for Mirage