target/avr: Add instruction helpers
commit84a71e9a447b50ddfc818aed4d626574423d7945
authorMichael Rolnik <mrolnik@gmail.com>
Fri, 24 Jan 2020 00:51:08 +0000 (24 01:51 +0100)
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>
Sat, 11 Jul 2020 09:02:05 +0000 (11 11:02 +0200)
tree807669823cb1560e41eb256ad595d91f0bf97782
parent669d27e2f57a5c016caebf859196ec77c420a330
target/avr: Add instruction helpers

Add helpers for instructions that need to interact with QEMU. Also,
add stubs for unimplemented instructions. Instructions SPM and WDR
are left unimplemented because they require emulation of complex
peripherals. The implementation of instruction SLEEP is very limited
due to the lack of peripherals to generate wake interrupts. Memory
access instructions are implemented here because some address ranges
actually refer to CPU registers.

Signed-off-by: Michael Rolnik <mrolnik@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Aleksandar Markovic <aleksandar.m.mail@gmail.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Aleksandar Markovic <aleksandar.m.mail@gmail.com>
Signed-off-by: Thomas Huth <huth@tuxfamily.org>
Message-Id: <20200705140315.260514-10-huth@tuxfamily.org>
[PMD: Replace cpu_physical_memory() API by address_space_ldst()
      API to fix running on big-endian host,
      reported and suggested by Peter Maydell]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
target/avr/helper.c
target/avr/helper.h [new file with mode: 0644]