On Fri, Jan 31, 2020 at 1:23 AM Philippe Mathieu-Daudé <phi...@redhat.com> wrote: > > On 1/31/20 1:03 AM, Aleksandar Markovic wrote: > > From: Michael Rolnik <mrol...@gmail.com> > > > > Add AVR related definitions into QEMU. > > > > [AM: Remove word 'Atmel' from filenames and all elements of code] > > Suggested-by: Aleksandar Markovic <aleksandar.m.m...@gmail.com> > > > > Signed-off-by: Michael Rolnik <mrol...@gmail.com> > > Tested-by: Philippe Mathieu-Daudé <phi...@redhat.com> > > Reviewed-by: Aleksandar Markovic <amarko...@wavecomp.com> > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > > Signed-off-by: Aleksandar Markovic <aleksandar.m.m...@gmail.com> > > --- > > 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', > > >