Fixed compiler errors

xenbus/xenbus.c: In function 'xenbus_transaction_start':
xenbus/xenbus.c:683:5: error: format '%u' expects argument of type 'unsigned int *', but argument 3 has type 'xenbus_transaction_t *' [-Werror=format=]
     sscanf((char *)(rep + 1), "%u", xbt);
     ^
xenbus/xenbus.c: In function 'xenbus_get_self_id':
xenbus/xenbus.c:780:5: error: format '%d' expects argument of type 'int *', but argument 3 has type 'domid_t *' [-Werror=format=]
     sscanf(dom_id, "%d", &ret);
Use -mfloat-abi=hard

Avoids build error:

[...]
ld -r   /root/minios-arm/extras/mini-os/arch/arm/arm32.o  /root/minios-arm/extras/mini-os/drivers/gic.o /root/minios-arm/extras/mini-os/lib/fdt/fdt.o /root/minios-arm/extras/mini-os/lib/fdt/fdt_empty_tree.o /root/minios-arm/extras/mini-os/lib/fdt/fdt_ro.o /root/minios-arm/extras/mini-os/lib/fdt/fdt_rw.o /root/minios-arm/extras/mini-os/lib/fdt/fdt_strerror.o /root/minios-arm/extras/mini-os/lib/fdt/fdt_sw.o /root/minios-arm/extras/mini-os/lib/fdt/fdt_wip.o /root/minios-arm/extras/mini-os/events.o /root/minios-arm/extras/mini-os/gntmap.o /root/minios-arm/extras/mini-os/gnttab.o /root/minios-arm/extras/mini-os/hypervisor.o /root/minios-arm/extras/mini-os/time.o /root/minios-arm/extras/mini-os/kernel.o /root/minios-arm/extras/mini-os/lock.o /root/minios-arm/extras/mini-os/main.o /root/minios-arm/extras/mini-os/mm.o /root/minios-arm/extras/mini-os/sched.o /root/minios-arm/extras/mini-os/lib/ctype.o /root/minios-arm/extras/mini-os/lib/printf.o /root/minios-arm/extras/mini-os/lib/stack_chk_fail.o /root/minios-arm/extras/mini-os/lib/string.o /root/minios-arm/extras/mini-os/lib/sys.o /root/minios-arm/extras/mini-os/lib/xmalloc.o /root/minios-arm/extras/mini-os/lib/xs.o /root/minios-arm/extras/mini-os/xenbus/xenbus.o /root/minios-arm/extras/mini-os/console/console.o /root/minios-arm/extras/mini-os/console/xencons_ring.o -L/root/minios-arm/extras/mini-os/arch/arm -larm32  -o /root/minios-arm/extras/mini-os/mini-os.o
ld: error: /root/minios-arm/extras/mini-os/lib/fdt/fdt.o uses VFP register arguments, /root/minios-arm/extras/mini-os/mini-os.o does not
ld: failed to merge target specific data of file /root/minios-arm/extras/mini-os/lib/fdt/fdt.o
ld: error: /root/minios-arm/extras/mini-os/lib/fdt/fdt_empty_tree.o uses VFP register arguments, /root/minios-arm/extras/mini-os/mini-os.o does not
ld: failed to merge target specific data of file /root/minios-arm/extras/mini-os/lib/fdt/fdt_empty_tree.o
ld: error: /root/minios-arm/extras/mini-os/lib/fdt/fdt_ro.o uses VFP register arguments, /root/minios-arm/extras/mini-os/mini-os.o does not
ld: failed to merge target specific data of file /root/minios-arm/extras/mini-os/lib/fdt/fdt_ro.o
ld: error: /root/minios-arm/extras/mini-os/lib/fdt/fdt_rw.o uses VFP register arguments, /root/minios-arm/extras/mini-os/mini-os.o does not
ld: failed to merge target specific data of file /root/minios-arm/extras/mini-os/lib/fdt/fdt_rw.o
ld: error: /root/minios-arm/extras/mini-os/lib/fdt/fdt_strerror.o uses VFP register arguments, /root/minios-arm/extras/mini-os/mini-os.o does not
[...]
Removed commented-out code
Fixed initialisation code

- Configure write-back caching in page table. This is needed for
  reliable hypercalls to Xen (thanks to Julien Grall).

- Use "client mode" for access control (domains are deprecated,
  according to ARM Cortex-A Series Programmer’s Guide version 4.0,
  section 9.6.4).

- Enable more SCTLR features (icache, branch prediction).

- Added more comments.

This allows Mini-OS to boot on the Cubieboard 2.
Less verbose xenbus output
Enable regular console

For some reason, this breaks xenbus test.
Display "Fault" if any exception vectors are called
Dump registers on fault
Fixed reading from console

Was crashing because it tried to get the console from start_info, which
we don't have on ARM.
Get RAM base and size from the FDT
Fixed MM printk output

Was printing:

MM: Initialise page allocator for 80032000(80032000) - 0(84000000)
Fixed memory corruption bug due to out-of-range alloc_bitmap indexes

map_alloc, etc, assumed that the first index in alloc_bitmap
corresponded to physical page 0. In fact, it corresponds to the first
page of RAM.
Preserve device tree when initialising MM

Move the device tree to a reserved area at the end of the RAM.
Get GIC addresses from FDT
Fixed hang when enabling interrupts

It seems we must call gic_enable_interrupts before enabling individual
interrupts, otherwise our IRQ handler gets called endlessly with
spurious interrupts (interrupt number 1023).
Cleaned up interrupt handlers

Abort on FIQ (we shouldn't get any, but clobbering the IRQ stack would
be the wrong thing to do if we did).
Fixed shutdown thread

Before, it read "" and started a shutdown immediately (though it didn't
actually do anything). Now, it waits for a non-empty value and then
actually shuts down.

This means you can now shut down the VM with "xl shutdown".
Whitespace
Use Virtual Count register to make monotonic time work
Whitespace