Le 13/05/2021 à 19:04, Philippe Mathieu-Daudé a écrit : > Cc'ing qemu-trivial@
Applied to my trivial-patches branch. Thanks, Laurent > On 5/5/21 4:00 PM, Joaquin de Andres wrote: >> On 5/5/21 3:33 PM, Fred Konrad wrote: >>> >>> >>> Le 4/30/21 à 12:27 PM, Joaquin de Andres a écrit : >>>> On 4/28/21 9:17 PM, Philippe Mathieu-Daudé wrote: >>>>> Cc'ing Joaquín. >>>>> >>>>> On 4/28/21 9:15 PM, Frederic Konrad wrote: >>>>>> According to the as documentation: >>>>>> (https://sourceware.org/binutils/docs-2.36/as/AVR-Options.html) >>>>>> >>>>>> "Instruction set avr51 is for the enhanced AVR core with exactly 128K >>>>>> program memory space (MCU types: atmega128, atmega128a, atmega1280, >>>>>> atmega1281, atmega1284, atmega1284p, atmega128rfa1, atmega128rfr2, >>>>>> atmega1284rfr2, at90can128, at90usb1286, at90usb1287, m3000)." >>>>>> >>>>>> But when compiling a program for atmega1280 or avr51 and trying to >>>>>> execute >>>>>> it: >>>>>> >>>>>> $ cat > test.S << EOF >>>>>>> loop: >>>>>>> rjmp loop >>>>>>> EOF >>>>>> $ avr-gcc -nostdlib -nostartfiles -mmcu=atmega1280 test.S -o test.elf >>>>>> $ qemu-system-avr -serial mon:stdio -nographic -no-reboot -M mega \ >>>>>> -bios test.elf >>>>>> qemu-system-avr: Current machine: Arduino Mega (ATmega1280) with >>>>>> 'avr6' CPU >>>>>> qemu-system-avr: ELF image 'test.elf' is for 'avr51' CPU >>>>>> >>>>>> So this fixes the atmega1280 class to use an avr51 CPU. >>>>>> >>>>>> Signed-off-by: Frederic Konrad <frederic.kon...@adacore.com> >>>>>> --- >>>>>> hw/avr/atmega.c | 2 +- >>>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>>> >>>>>> diff --git a/hw/avr/atmega.c b/hw/avr/atmega.c >>>>>> index 44c6afebbb..e3ea5702f5 100644 >>>>>> --- a/hw/avr/atmega.c >>>>>> +++ b/hw/avr/atmega.c >>>>>> @@ -402,7 +402,7 @@ static void atmega1280_class_init(ObjectClass >>>>>> *oc, void *data) >>>>>> { >>>>>> AtmegaMcuClass *amc = ATMEGA_MCU_CLASS(oc); >>>>>> - amc->cpu_type = AVR_CPU_TYPE_NAME("avr6"); >>>>>> + amc->cpu_type = AVR_CPU_TYPE_NAME("avr51"); >>>>>> amc->flash_size = 128 * KiB; >>>>>> amc->eeprom_size = 4 * KiB; >>>>>> amc->sram_size = 8 * KiB; >>>>>> >>>>> >>>> Good catch! >>>> >>> >>> Thanks, does that count as a reviewed-by :)? >>> >>> >> Yes! sorry. >> >> >> Reviewed-by: Joaquin de Andres <m...@xcancerberox.com.ar> >> >