qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH rc4 24/29] hw/avr: Add some ATmega microcontrollers


From: Aleksandar Markovic
Subject: Re: [PATCH rc4 24/29] hw/avr: Add some ATmega microcontrollers
Date: Fri, 31 Jan 2020 10:40:33 +0100

On Fri, Jan 31, 2020 at 10:35 AM Thomas Huth <address@hidden> wrote:
>
> On 31/01/2020 05.11, Aleksandar Markovic wrote:
> > On Fri, Jan 31, 2020 at 4:45 AM Aleksandar Markovic
> > <address@hidden> wrote:
> >>
> >> On Fri, Jan 31, 2020 at 4:09 AM Philippe Mathieu-Daudé <address@hidden> 
> >> wrote:
> >>>
> >>> Hi Aleksandar,
> >>>
> >>> Cc'ing Thomas & Daniel who are not lawyers but tried to explain me few
> >>> times how licensing works.
> >>>
> >>> On Fri, Jan 31, 2020 at 2:56 AM Aleksandar Markovic
> >>> <address@hidden> wrote:
> >>>> On Fri, Jan 31, 2020 at 1:03 AM Aleksandar Markovic
> >>>> <address@hidden> wrote:
> >>>>>
> >>>>> From: Philippe Mathieu-Daudé <address@hidden>
> >>>>>
> >>>>> Add some AVR microcontrollers from the ATmega family:
> >>>>>
> >>>>>   - middle range: ATmega168 and ATmega328
> >>>>>   - high range: ATmega1280 and ATmega2560
> >>>>>
> >>>>> For product comparison:
> >>>>>   
> >>>>> https://www.microchip.com/wwwproducts/ProductCompare/ATmega168P/ATmega328P
> >>>>>   
> >>>>> https://www.microchip.com/wwwproducts/ProductCompare/ATmega1280/ATmega2560
> >>>>>
> >>>>> Datasheets:
> >>>>>   
> >>>>> http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf
> >>>>>   
> >>>>> http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf
> >>>>>
> >>>>> [AM: Remove word 'Atmel' from filenames and all elements of code]
> >>>>> Suggested-by: Aleksandar Markovic <address@hidden>
> >>>>>
> >>>>> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> >>>>> Signed-off-by: Richard Henderson <address@hidden>
> >>>>> Signed-off-by: Aleksandar Markovic <address@hidden>
> >>>>> ---
> >>>>>  hw/avr/Kconfig       |   5 +
> >>>>>  hw/avr/Makefile.objs |   1 +
> >>>>>  hw/avr/atmega.c      | 470 
> >>>>> +++++++++++++++++++++++++++++++++++++++++++++++++++
> >>>>>  hw/avr/atmega.h      |  48 ++++++
> >>>>>  4 files changed, 524 insertions(+)
> >>>>>  create mode 100644 hw/avr/Kconfig
> >>>>>  create mode 100644 hw/avr/atmega.c
> >>>>>  create mode 100644 hw/avr/atmega.h
> >>>>>
> >>>>> diff --git a/hw/avr/Kconfig b/hw/avr/Kconfig
> >>>>> new file mode 100644
> >>>>> index 0000000..9e6527e
> >>>>> --- /dev/null
> >>>>> +++ b/hw/avr/Kconfig
> >>>>> @@ -0,0 +1,5 @@
> >>>>> +config AVR_ATMEGA_MCU
> >>>>> +    bool
> >>>>> +    select AVR_TIMER16
> >>>>> +    select AVR_USART
> >>>>> +    select AVR_POWER
> >>>>> diff --git a/hw/avr/Makefile.objs b/hw/avr/Makefile.objs
> >>>>> index 123f174..af0fdde 100644
> >>>>> --- a/hw/avr/Makefile.objs
> >>>>> +++ b/hw/avr/Makefile.objs
> >>>>> @@ -1 +1,2 @@
> >>>>>  obj-y += boot.o
> >>>>> +obj-$(CONFIG_AVR_ATMEGA_MCU) += atmega.o
> >>>>> diff --git a/hw/avr/atmega.c b/hw/avr/atmega.c
> >>>>> new file mode 100644
> >>>>> index 0000000..8cdf28b
> >>>>> --- /dev/null
> >>>>> +++ b/hw/avr/atmega.c
> >>>>> @@ -0,0 +1,470 @@
> >>>>> +/*
> >>>>> + * QEMU ATmega MCU
> >>>>> + *
> >>>>> + * Copyright (c) 2019 Philippe Mathieu-Daudé
> >>>>> + *
> >>>>> + * This work is licensed under the terms of the GNU GPLv2 or later.
> >>>>> + * See the COPYING file in the top-level directory.
> >>>>> + * SPDX-License-Identifier: GPL-2.0-or-later
> >>>>> + */
> >>>>
> >>>> Philippe,
> >>>>
> >>>> Michael and I already agreed at some moment that the whole target AVR
> >>>> should have harmonized licenses, and Sarrah agreed to change her
> >>>> license to achieve this. Do you agree to harmonize your licenses with
> >>>> the rest of the project? (This would mean changing the preable, but of
> >>>> course you remain copyright carrier as is now.)
> >>>
> >>> What license do you want to use? I always use "GPLv2 or later" with
> >>> QEMU, mostly following what the others do.
> >>>
> >>> Per https://wiki.qemu.org/License:
> >>>
> >>>   Source files with no licensing information are released under the
> >>> GNU General Public License, version 2 or (at your option) any later
> >>> version.
> >>>
> >>> Reading about licensing is not fun :(
> >>>
> >>
> >> Philippe, here is the deal: All new files for AVR platform has the
> >> following preamble, that Michael chose from the outset:
> >>
> >> + * This library is free software; you can redistribute it and/or
> >> + * modify it under the terms of the GNU Lesser General Public
> >> + * License as published by the Free Software Foundation; either
> >> + * version 2.1 of the License, or (at your option) any later version.
> >> + *
> >> + * This library is distributed in the hope that it will be useful,
> >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> >> + * Lesser General Public License for more details.
> >> + *
> >> + * You should have received a copy of the GNU Lesser General Public
> >> + * License along with this library; if not, see
> >> + * <http://www.gnu.org/licenses/lgpl-2.1.html>
> >>
> >> Now, it is preferable that licenses are harmonized within a module,
> >> and I ask you to change the preamble to be the same as the rest of the
> >> module, that is all. This practically means LGPL2.1+later instead
> >> LGPL2.0+later. I think it is reasonable that we want to simplify out
> >> license stuff, not complicate it with different licenses within a
> >> module. There are examples of complications in cases of different
> >> license within the same module, so it would be ideal if we avoid such
> >> situations.
> >>
> >
> > I didn't mean to scare you, I am just a developer like you, and I want
> > to avoid thinking about licenses, and think of our real work, so, I
> > gather, in my layman terms, it is better to have the same license for
> > the new platform in its entirety, if possible, that is all. :)
>
> This is all part of QEMU, and QEMU is licensed under the GPLv2. If
> someone wants to use a less strict license for their own code that is
> still compatible with the GPLv2, like the LGPLv2.1, that's fine. But I
> think if Philippe does not like to release his code under the LGPL, and
> wants to use GPL instead, you can not force him to use LGPL here. It's
> the decision of Philippe what he wants to use for his code.
>

It is his decision, but it can be reasonable or not so reasonable. I
think it is logical that he follows the license model of the module he
contributes to, isn't it?

Aleksandar

>  Thomas
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]