From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Mario Fleischmann <mario.fleischmann@lauterbach.com>
Cc: qemu-devel@nongnu.org, alex.bennee@linaro.org, philmd@linaro.org,
armbru@redhat.com, christian.boenig@lauterbach.com
Subject: Re: [PATCH v2 01/20] mcd: Introduce Multi-Core Debug (MCD) API
Date: Wed, 30 Apr 2025 13:55:41 +0100 [thread overview]
Message-ID: <aBIdzY2CtPL7j39p@redhat.com> (raw)
In-Reply-To: <8ecb6cb9-1a8a-4feb-a490-032154665ac6@lauterbach.com>
On Wed, Apr 30, 2025 at 02:47:07PM +0200, Mario Fleischmann wrote:
> On 30.04.2025 10:20, Daniel P. Berrangé wrote:
>
> > On Wed, Apr 30, 2025 at 07:27:22AM +0200, Mario Fleischmann wrote:
> >> Formatting changes to mcd_api.h to compily with QEMU's coding style guidelines:
> >>
> >> * limit line width to 80
> >> * convert Doxygen to kernel-doc comments
> >> * avoid architecture specific defines
> >>
> >> The original MCD API version can be found at:
> >> https://repo.lauterbach.com/sprint_mcd_api_v1_0.zip
> >
> > The commit message needs to call out the license choice of the
> > imported file.
>
> Thanks for pointing that out. Will be added in the next version.
>
> >> Signed-off-by: Mario Fleischmann <mario.fleischmann@lauterbach.com>
> >> ---
> >> MAINTAINERS | 6 +
> >> docs/interop/index.rst | 1 +
> >> docs/interop/mcd.rst | 44 +
> >> mcd/mcd_api.h | 3963 ++++++++++++++++++++++++++++++++++++++++
> >> 4 files changed, 4014 insertions(+)
> >> create mode 100644 docs/interop/mcd.rst
> >> create mode 100644 mcd/mcd_api.h
> >
> >> diff --git a/mcd/mcd_api.h b/mcd/mcd_api.h
> >> new file mode 100644
> >> index 0000000..8c89353
> >> --- /dev/null
> >> +++ b/mcd/mcd_api.h
> >> @@ -0,0 +1,3963 @@
> >> +/*
> >> + * Copyright (c) 2008, ARM Ltd., Infineon Technologies, NXP Semiconductors,
> >> + * Lauterbach, STMicroelectronics and TIMA Laboratory.
> >> + * All rights reserved.
> >> + *
> >> + * PREAMBLE
> >> + *
> >> + * The MCD API (Multi-Core Debug) has been designed as an interface between
> >> + * software development tools and simulated or real systems with multi-core
> >> + * SoCs. The target is to allow consistent software tooling throughout the
> >> + * whole SoC development flow.
> >> + * The MCD API (the "SOFTWARE") has been developed jointly by ARM Ltd.,
> >> + * Infineon Technologies, NXP Semiconductors, Lauterbach,
> >> + * STMicroelectronics and TIMA Laboratory as part of the SPRINT project
> >> + * (www.sprint-project.net).
> >> + * The SPRINT project has been funded by the European Commission.
> >> + *
> >> + * LICENSE
> >> + *
> >> + * Any redistribution and use of the SOFTWARE in source and binary forms,
> >> + * with or without modification constitutes the full acceptance of the
> >> + * following disclaimer as well as of the license herein and is permitted
> >> + * provided that the following conditions are met:
> >> + * - Redistributions of source code must retain the above copyright notice,
> >> + * this list of conditions and the disclaimer detailed below.
> >> + * - Redistributions in binary form must reproduce the above copyright notice,
> >> + * this list of conditions and the disclaimer detailed below in the
> >> + * documentation and/or other materials provided with the distribution.
> >> + * - Neither the name of its copyright holders nor the names of its
> >> + * contributors may be used to endorse or promote products derived from the
> >> + * Software without specific prior written permission.
> >> + * - Modification of any or all of the source code, documentation and other
> >> + * materials provided under this license are subject to acknowledgement of
> >> + * the modification(s) by including a prominent notice on the modification(s)
> >> + * stating the change(s) to the file(s), identifying the date of such change
> >> + * and stating the name of the publisher of any such modification(s).
> >
> > This 4th clause is rather obnoxious and....
> >
> >> + * VERSION HISTORY
> >> + *
> >> + * 1.0 "SPRINT Release" : SPRINT reference version
> >> + *
> >> + * 1.1 "Lauterbach Release" :
> >> + * - forces all boolean types to 8-bit on Linux and Mac-OS-X,
> >> + * but 32-bit on all other OS forces 32-bit enumeration types
> >> + * - additional memory spaces MCD_MEM_SPACE_IS_PHYSICAL,
> >> + * MCD_MEM_SPACE_IS_LOGICAL, MCD_MEM_SPACE_IS_AUX
> >> + * - changed type of 2nd argument of mcd_qry_input_handle_f from "int" to
> >> + * "uint32_t"
> >> + * - changed type of element "data" of of mcd_tx_st from "unsigned char" to
> >> + * "uint8_t"
> >> + * - specifying the calling convention for MS Windows (x86) to __cdecl
> >> + *
> >> + * 1.2 "QEMU Release" :
> >> + * - changes formatting to accommodate QEMU's coding style guidelines
> >> + * - includes qemu/osdep.h instead of mcd_types.h
> >
> > ....this appears to not be compliant with the license since it fails
> > to include the dates
>
> We've got the dates of modifications available at our version control.
> They will be added in the next version of this patch.
>
> > AFAICT this license is derived from a classic BSD 3 clause, with the
> > extra 4th clause added.
> >
> > I don't see any SPDX license matching this, which is painful as it
> > means it is going to need license approval before it can be included
> > by distributions downstream.
> >
> > Does this really have to be under a custom license instead of a
> > well known standard license ? There's really no good reason for
> > inventing new open source licenses.
>
> BSD 3-Clause Modification matches the license of the MCD API and is
> listed under the SPDX License List. Is it possible to extend
> checkpatch's @valid with "BSD-3-Clause-Modification"? That way, we can
> also add the SPDX-License-Identifier to mcd_api.h without an error being
> generated by the script.
Conceptually this is similar to BSD-3-Clause-Modification, but the
actual text of the license does not match
https://spdx.org/licenses/BSD-3-Clause-Modification.html
so IMHO we can't claim this is BSD-3-Clause-Modification currently.
IIUC, it would have to be submitted to SPDX for review to decide
whether it needs to be a new license, or whether the permitted text
for BSD-3-Clause-Modification can allow a choice of matches.
> Thank you very much for taking the time to review the patch! I will add
> the changes in the next version of this series but will wait for further
> reviews until submitting v3 in order to keep the mailing list less busy.
Yep, makes sense.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2025-04-30 12:56 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-30 5:27 [PATCH v2 00/20] Add Multi-Core Debug (MCD) API support Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 01/20] mcd: Introduce Multi-Core Debug (MCD) API Mario Fleischmann
2025-04-30 8:19 ` Daniel P. Berrangé
2025-04-30 12:47 ` Mario Fleischmann
2025-04-30 12:55 ` Daniel P. Berrangé [this message]
2025-04-30 15:22 ` Mario Fleischmann
2025-04-30 16:00 ` Daniel P. Berrangé
2025-04-30 5:27 ` [PATCH v2 02/20] meson: Add --enable-mcd option Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 03/20] mcd: Introduce MCD server Mario Fleischmann
2025-05-15 9:46 ` Daniel P. Berrangé
2025-04-30 5:27 ` [PATCH v2 04/20] qapi: Introduce MCD schema Mario Fleischmann
2025-05-08 11:07 ` Markus Armbruster
2025-05-20 7:10 ` Markus Armbruster
2025-04-30 5:27 ` [PATCH v2 05/20] mcd: Introduce MCD server stub Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 06/20] qtest: Introduce MCD test suite Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 07/20] mcd: Implement target initialization API Mario Fleischmann
2025-05-08 12:03 ` Markus Armbruster
2025-05-14 13:59 ` Mario Fleischmann
2025-05-15 9:33 ` Markus Armbruster
2025-05-15 13:02 ` Markus Armbruster
2025-05-19 16:52 ` Mario Fleischmann
2025-05-20 7:13 ` Markus Armbruster
2025-04-30 5:27 ` [PATCH v2 08/20] mcd: Implement server connection API Mario Fleischmann
2025-05-15 9:58 ` Daniel P. Berrangé
2025-05-19 16:54 ` Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 09/20] mcd: Implement target system query Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 10/20] mcd: Implement core connection control Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 11/20] mcd: Implement memory space query Mario Fleischmann
2025-05-19 9:41 ` Manos Pitsidianakis
2025-05-19 18:24 ` Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 12/20] gdbstub: Expose GDBRegisterState Mario Fleischmann
2025-05-19 8:41 ` Manos Pitsidianakis
2025-05-19 18:26 ` Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 13/20] mcd: Implement register query Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 14/20] mcd: Implement runstate control Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 15/20] mcd test: Implement core state query Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 16/20] gdbstub: Expose gdb_write_register Mario Fleischmann
2025-05-19 8:38 ` Manos Pitsidianakis
2025-04-30 5:27 ` [PATCH v2 17/20] mcd: Implement register/memory access Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 18/20] mcd: Implement single stepping Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 19/20] mcd: Implement trigger control Mario Fleischmann
2025-04-30 5:27 ` [PATCH v2 20/20] mcd: Implement reset control Mario Fleischmann
2025-05-08 11:37 ` [PATCH v2 00/20] Add Multi-Core Debug (MCD) API support Markus Armbruster
2025-05-14 14:05 ` Mario Fleischmann
2025-05-20 7:35 ` Markus Armbruster
2025-05-20 14:16 ` Mario Fleischmann
2025-07-24 5:28 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aBIdzY2CtPL7j39p@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=armbru@redhat.com \
--cc=christian.boenig@lauterbach.com \
--cc=mario.fleischmann@lauterbach.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).