[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH rc4 20/29] target/avr: Register AVR support with the rest of
From: |
Aleksandar Markovic |
Subject: |
Re: [PATCH rc4 20/29] target/avr: Register AVR support with the rest of QEMU |
Date: |
Fri, 31 Jan 2020 01:27:22 +0100 |
On Fri, Jan 31, 2020 at 1:23 AM Philippe Mathieu-Daudé
<address@hidden> wrote:
>
> On 1/31/20 1:03 AM, Aleksandar Markovic wrote:
> > From: Michael Rolnik <address@hidden>
> >
> > Add AVR related definitions into QEMU.
> >
> > [AM: Remove word 'Atmel' from filenames and all elements of code]
> > Suggested-by: Aleksandar Markovic <address@hidden>
> >
> > Signed-off-by: Michael Rolnik <address@hidden>
> > Tested-by: Philippe Mathieu-Daudé <address@hidden>
> > Reviewed-by: Aleksandar Markovic <address@hidden>
> > Signed-off-by: Richard Henderson <address@hidden>
> > Signed-off-by: Aleksandar Markovic <address@hidden>
> > ---
> > arch_init.c | 2 ++
> > include/disas/dis-asm.h | 19 +++++++++++++++++++
> > include/sysemu/arch_init.h | 1 +
> > qapi/machine.json | 3 ++-
> > 4 files changed, 24 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch_init.c b/arch_init.c
> > index 705d0b9..6a74116 100644
> > --- a/arch_init.c
> > +++ b/arch_init.c
> > @@ -89,6 +89,8 @@ int graphic_depth = 32;
> > #define QEMU_ARCH QEMU_ARCH_UNICORE32
> > #elif defined(TARGET_XTENSA)
> > #define QEMU_ARCH QEMU_ARCH_XTENSA
> > +#elif defined(TARGET_AVR)
> > +#define QEMU_ARCH QEMU_ARCH_AVR
> > #endif
> >
> > const uint32_t arch_type = QEMU_ARCH;
> > diff --git a/include/disas/dis-asm.h b/include/disas/dis-asm.h
> > index f87f468..a36e658 100644
> > --- a/include/disas/dis-asm.h
> > +++ b/include/disas/dis-asm.h
> > @@ -211,6 +211,25 @@ enum bfd_architecture
> > #define bfd_mach_m32r 0 /* backwards compatibility */
> > bfd_arch_mn10200, /* Matsushita MN10200 */
> > bfd_arch_mn10300, /* Matsushita MN10300 */
> > + bfd_arch_avr, /* AVR microcontrollers */
> > +#define bfd_mach_avr1 1
> > +#define bfd_mach_avr2 2
> > +#define bfd_mach_avr25 25
> > +#define bfd_mach_avr3 3
> > +#define bfd_mach_avr31 31
> > +#define bfd_mach_avr35 35
> > +#define bfd_mach_avr4 4
> > +#define bfd_mach_avr5 5
> > +#define bfd_mach_avr51 51
> > +#define bfd_mach_avr6 6
> > +#define bfd_mach_avrtiny 100
> > +#define bfd_mach_avrxmega1 101
> > +#define bfd_mach_avrxmega2 102
> > +#define bfd_mach_avrxmega3 103
> > +#define bfd_mach_avrxmega4 104
> > +#define bfd_mach_avrxmega5 105
> > +#define bfd_mach_avrxmega6 106
> > +#define bfd_mach_avrxmega7 107
>
> I think the changes in include/disas/dis-asm.h should go in patch #6
> "target/avr: Add defintions of AVR core types" where the definitions are
> used:
>
> const char *avr_flags_to_cpu_type(uint32_t flags, const char
> *def_cpu_type)
> {
> switch (flags & EF_AVR_MACH) {
> case bfd_mach_avr1:
> return AVR_CPU_TYPE_NAME("avr1");
>
I agree.
> > bfd_arch_cris, /* Axis CRIS */
> > #define bfd_mach_cris_v0_v10 255
> > #define bfd_mach_cris_v32 32
> > diff --git a/include/sysemu/arch_init.h b/include/sysemu/arch_init.h
> > index 62c6fe4..893df26 100644
> > --- a/include/sysemu/arch_init.h
> > +++ b/include/sysemu/arch_init.h
> > @@ -24,6 +24,7 @@ enum {
> > QEMU_ARCH_NIOS2 = (1 << 17),
> > QEMU_ARCH_HPPA = (1 << 18),
> > QEMU_ARCH_RISCV = (1 << 19),
> > + QEMU_ARCH_AVR = (1 << 20),
> > };
> >
> > extern const uint32_t arch_type;
> > diff --git a/qapi/machine.json b/qapi/machine.json
> > index b3d30bc..f2dc385 100644
> > --- a/qapi/machine.json
> > +++ b/qapi/machine.json
> > @@ -21,11 +21,12 @@
> > # is true even for "qemu-system-x86_64".
> > #
> > # ppcemb: dropped in 3.1
> > +# avr: since 5.0
> > #
> > # Since: 3.0
> > ##
> > { 'enum' : 'SysEmuTarget',
> > - 'data' : [ 'aarch64', 'alpha', 'arm', 'cris', 'hppa', 'i386', 'lm32',
> > + 'data' : [ 'aarch64', 'alpha', 'arm', 'avr', 'cris', 'hppa', 'i386',
> > 'lm32',
> > 'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
> > 'mips64el', 'mipsel', 'moxie', 'nios2', 'or1k', 'ppc',
> > 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
> >
>
- [PATCH rc4 07/29] target/avr: Add instruction helpers, (continued)
- [PATCH rc4 07/29] target/avr: Add instruction helpers, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 03/29] target/avr: Add migration support, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 02/29] target/avr: Introduce AVR CPU class object, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 11/29] target/avr: Add instruction translation - Data Transfer Instructions, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 10/29] target/avr: Add instruction translation - Branch Instructions, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 09/29] target/avr: Add instruction translation - Arithmetic and Logic Instructions, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 13/29] target/avr: Add instruction translation - MCU Control Instructions, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 22/29] target/avr: Update MAINTAINERS file, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 20/29] target/avr: Register AVR support with the rest of QEMU, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 21/29] target/avr: Add machine none test, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 19/29] target/avr: Add section about AVR into QEMU documentation, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 16/29] hw/char: Add limited support for AVR USART peripheral, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 26/29] target/avr: Update build system, Aleksandar Markovic, 2020/01/30
- [PATCH rc4 23/29] hw/avr: Add helper to load raw/ELF firmware binaries, Aleksandar Markovic, 2020/01/30
[PATCH rc4 29/29] .travis.yml: Run the AVR acceptance tests, Aleksandar Markovic, 2020/01/30