avr_timer: roll up cancelation of timers into single function.

	modified:   sim/avr_timer.c
Merge pull request #60 from bsekisser/avr-timer-cancel-timer-rollup

avr_timer: roll up cancelation of timers into single function.
ELF: Make sure the macro generater the correct value

You could pass constants over 8 bits in size, generating very confusing
values

Signed-off-by: Michel Pollet <buserror@gmail.com>
ioport: Add a pair of IRQs

Allows easy tracking of the PORT/PIN (when read) and DDR values as they
are written by the firmware.
Also reformatted in '2014' narrow style

Signed-off-by: Michel Pollet <buserror@gmail.com>
vcd: Traces now start in 'X' state

"Floating" state, until they are explicitely set by the firmware or
emulator

Signed-off-by: Michel Pollet <buserror@gmail.com>
cores: Added atmega169p
add likely/unlikely branch hint macros

Provide likely/unlikely branch hinting macros.
core: don't crash if pc is past flash

If we somehow had bad code that pointed us past the end of the flash it
would segfault simavr rather than catching the bad case, this fixes and
that wraps the check in an unlikely() branch hint since its very
unlikely we will take that case.
core: set reasonably safe default for 'codeend'

Its reasonably safe to assume that 'codeend' can not be past 'flashend'
so that's a good default value.
Merge pull request #61 from cardoe/pc-crash

Don't crash if PC is past the end of the flash section
Make Makefile safe for parallel compilation.
sim_core: correction to ld {rXYZ}

User supplied test seems to indicate that the avr writes data to
 the destination register AFTER updating the index register.
  whereas the core originally read the index register and
  immediately stored the result into the register and then wrote
  back the index register.

If the code used: LD XH, X test indicated XH would return the
 value loaded from the indirect load operation versus the updated
 XH:XL value as the core originally assumed.

	modified:   sim/sim_core.c
gdb: cleanup

Formatting, nothing functional.

Signed-off-by: Michel Pollet <buserror@gmail.com>
timers: New, faster implementation

Bullied by bsekisser into making this one ;-)

Signed-off-by: Michel Pollet <buserror@gmail.com>
simduino: Small fix

Not sure how this got commited, it was not compiling.
timers: Real fix

There were a couple of logic error in the previous commit, fixed,
hopefully.
cores: add ATmega128RFA1 core

This core is based on the ATmega1281 core per Atmel's documentation so
that was used as a starting point. No guarentees that the radio is wired
up correctly.
timers: Reformat

Cleanup the macros

Signed-off-by: Michel Pollet <buserror@gmail.com>
fix gdb error message: Cannot remove breakpoints because program is no longer writable.
uart: refactor uart udr write operation outside generic uart write.

	modified:   simavr/sim/avr_uart.c