initial support for interrupts.  The timer is generating interrupts, but for
some reason, the IRQ_Handler is not getting called.
Interrupts work! Sorta
Sort-of working IRQ handler
Basic OS timers support. Not sure if interrupts are all right though
Blah.. I am not sure how this is supposed to work.  The ARM we are using
doesn't have a dedicated interrupt for the OS timer tick, and when we switch
context to 'main()', interrupts are disabled.  That means if main has any
blocking call, it will remain in main forever. I tried always enabling
interrupts and the timer interrupt on a restore() call, but that seemed to
corrupt thread context.  Hmph.
Updated README for the versatile port
Merge branch 'master' of github.com:jetcom/xinu-arm into interrupts
Updated README with instructions on starting this with qemu
Mostly functional IRQ handler. The key is that since we don't call the C ISR directly, it should not be __attribute__(("IRQ")).  This does some things that really screw with us
Duh.. missing file
Reworked the interrupt handler. It's a little cleaner now, but still doesn't
work
Timer interrupts seem properly calibrated and almost work. Moved almost everything out of timer.c and into clkupdate.c. The current problem is that many vpb_sic_write: Bad register offset errors happen upon exiting.
Fix build bug on GCC<4.6: duplicate typedefs

On versions of GCC which don't support the c11 standard, duplicate typedefs,
even if they are exactly the same, are not permitted.

On GCC 4.5.2, we get a build error when led.h and stdint.h are included in the
same file:

    In file included from ../system/platforms/arm-qemu/platforminit.c:14:0:
    ../include/led.h:50:23: error: redefinition of typedef 'uint8_t'
    ../system/platforms/arm-qemu/stdint.h:15:23: note: previous declaration of 'uint8_t' was here
    ../include/led.h:51:22: error: redefinition of typedef 'uint32_t'
    ../system/platforms/arm-qemu/stdint.h:21:22: note: previous declaration of 'uint32_t' was here

Newer versions of GCC won't generate a warning or error for this, unless passed
'-pedantic' or '-pedantic -Werror'. There are too many '-pedantic' warnings
currently to make adding '-pedantic' practical in this commit.
Merge branch 'interrupts' of github.com:jetcom/xinu-arm into interrupts
Update the IRQ stuff to work better.
Still need a way to cleanly leave IRQ context when doing a ctxsw()
This fails spectacularly instead of failing silently
missing irq.c
Merge branch 'master' into interrupts

I was getting tired of having to specify the location of libgcc manually.
ctxsw: Save/restore all 15 (non-sp) registers.

r12 (aka. ip) got left out.

I also added some documentation along the way.
Handle IRQs in system mode.

This IRQ routine switches into system mode so that ISRs can share the
same banked registers with user programs. This is especially important
for ctxsw(), wich needs to manipulate SP_usr.

I'm now able to run the clockTest(), amongst a few others, rapidly
without crashing.

Unfortunately, it looks like the timesliceThreadTest() no longer works
with this change. I'll have to resolve that before merging this branch
in.