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.fleischm...@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 :|