abff1abfe8
meson: target
...
Similar to hw_arch, each architecture defines two sourceset which are placed in
dictionaries target_arch and target_softmmu_arch. These are then picked up
from there when building the per-emulator static_library.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2020-08-21 06:30:35 -04:00
139c1837db
meson: rename included C source files to .c.inc
...
With Makefiles that have automatically generated dependencies, you
generated includes are set as dependencies of the Makefile, so that they
are built before everything else and they are available when first
building the .c files.
Alternatively you can use a fine-grained dependency, e.g.
target/arm/translate.o: target/arm/decode-neon-shared.inc.c
With Meson you have only one choice and it is a third option, namely
"build at the beginning of the corresponding target"; the way you
express it is to list the includes in the sources of that target.
The problem is that Meson decides if something is a source vs. a
generated include by looking at the extension: '.c', '.cc', '.m', '.C'
are sources, while everything else is considered an include---including
'.inc.c'.
Use '.c.inc' to avoid this, as it is consistent with our other convention
of using '.rst.inc' for included reStructuredText files. The editorconfig
file is adjusted.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2020-08-21 06:18:30 -04:00
9d8caa67a2
target/avr: Add support for disassembling via option '-d in_asm'
...
Provide function disassembles executed instruction when '-d in_asm' is
provided.
Example:
$ qemu-system-avr -bios free-rtos/Demo/AVR_ATMega2560_GCC/demo.elf -d in_asm
...
IN:
0x0000014a: CALL 0x3808
IN: main
0x00003808: CALL 0x4b4
IN: vParTestInitialise
0x000004b4: LDI r24, 255
0x000004b6: STS r24, 0
0x000004b8: MULS r16, r20
0x000004ba: OUT $1, r24
0x000004bc: LDS r24, 0
0x000004be: MULS r16, r20
0x000004c0: OUT $2, r24
0x000004c2: RET
...
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Suggested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Suggested-by: Aleksandar Markovic <aleksandar.m.mail@gmail.com >
Signed-off-by: Michael Rolnik <mrolnik@gmail.com >
[rth: Fix spacing and const mnemonic arrays]
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: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Thomas Huth <huth@tuxfamily.org >
Message-Id: <20200705140315.260514-19-huth@tuxfamily.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-07-11 11:02:05 +02:00
a107fdb072
target/avr: Initialize TCG register variables
...
Initialize TCG register variables.
Co-developed-by: Richard Henderson <richard.henderson@linaro.org >
Co-developed-by: Michael Rolnik <mrolnik@gmail.com >
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-18-huth@tuxfamily.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-07-11 11:02:05 +02:00
9baade8d3b
target/avr: Add instruction translation - CPU main translation function
...
Add the core of translation mechanism.
Co-developed-by: Richard Henderson <richard.henderson@linaro.org >
Co-developed-by: Michael Rolnik <mrolnik@gmail.com >
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-17-huth@tuxfamily.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-07-11 11:02:05 +02:00
46188cabae
target/avr: Add instruction translation - MCU Control Instructions
...
This includes:
- BREAK
- NOP
- SLEEP
- WDR
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 >
Reviewed-by: Aleksandar Markovic <aleksandar.m.mail@gmail.com >
Signed-off-by: Thomas Huth <huth@tuxfamily.org >
Message-Id: <20200705140315.260514-16-huth@tuxfamily.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-07-11 11:02:05 +02:00
5718cef05a
target/avr: Add instruction translation - Bit and Bit-test Instructions
...
This includes:
- LSR, ROR
- ASR
- SWAP
- SBI, CBI
- BST, BLD
- BSET, BCLR
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-15-huth@tuxfamily.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-07-11 11:02:05 +02:00
9732b024f7
target/avr: Add instruction translation - Data Transfer Instructions
...
This includes:
- MOV, MOVW
- LDI, LDS LDX LDY LDZ
- LDDY, LDDZ
- STS, STX STY STZ
- STDY, STDZ
- LPM, LPMX
- ELPM, ELPMX
- SPM, SPMX
- IN, OUT
- PUSH, POP
- XCH
- LAS, LAC LAT
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-14-huth@tuxfamily.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-07-11 11:02:05 +02:00
9d316c75ab
target/avr: Add instruction translation - Branch Instructions
...
This includes:
- RJMP, IJMP, EIJMP, JMP
- RCALL, ICALL, EICALL, CALL
- RET, RETI
- CPSE, CP, CPC, CPI
- SBRC, SBRS, SBIC, SBIS
- BRBC, BRBS
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-13-huth@tuxfamily.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-07-11 11:02:05 +02:00
865f3bb9e1
target/avr: Add instruction translation - Arithmetic and Logic Instructions
...
This includes:
- ADD, ADC, ADIW
- SBIW, SUB, SUBI, SBC, SBCI
- AND, ANDI
- OR, ORI, EOR
- COM, NEG
- INC, DEC
- MUL, MULS, MULSU
- FMUL, FMULS, FMULSU
- DES
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-12-huth@tuxfamily.org >
[PMD: Added qemu_log_mask(LOG_UNIMP) in trans_DES()]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-07-11 11:02:05 +02:00
e03feba007
target/avr: Add instruction translation - Register definitions
...
Start implementation of instructions by adding register definitions.
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: 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-11-huth@tuxfamily.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-07-11 11:02:05 +02:00