[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 0/5] target/m68k: implement 680x0 FPU (part 3
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v2 0/5] target/m68k: implement 680x0 FPU (part 3) |
Date: |
Wed, 29 Nov 2017 13:59:15 +0000 |
On 29 November 2017 at 13:42, Laurent Vivier <address@hidden> wrote:
> these functions come from:
>
> http://previous.alternative-system.com/
>
> http://svn.code.sf.net/p/previous/code/trunk/src/softfloat/softfloat.c
>
> This is also a modified softfloat, release 2b
> which is BSD license if I'm correct.
We can't use softfloat2b code (the part of the license that goes
"USE OF THIS SOFTWARE IS RESTRICTED TO PERSONS
AND ORGANIZATIONS [...] WHO FURTHERMORE EFFECTIVELY INDEMNIFY JOHN
HAUSER AND THE INTERNATIONAL COMPUTER SCIENCE INSTITUTE" isn't
GPL compatible).
We can use softfloat2a code, which doesn't have that indemnity clause.
> http://svn.code.sf.net/p/previous/code/trunk/src/softfloat/README.txt
>
> and MAME is GPL:
> http://mamedev.org/legal.html
>
> and Previous is a fork of Hatari (GPL), a fork of UAE (GPL)
> https://hatari.tuxfamily.org/index.html
>
> This code has also been copied to WinUAE (GPL), where softfloat has been
> copied from QEMU:
> https://github.com/tonioni/WinUAE/blob/master/softfloat/softfloat.cpp
Yes, lots of projects used the softfloat2b code without realising
it wasn't GPL compatible (including QEMU -- we had a painful job
to fix things up and convert to the 2a codebase a while back).
> But I think the bad news comes later:
>
> all the other functions (sin, cos, tan, log, exp, ...) found in previous
> (softfloat_fpsp.c) are "derived" from NeXT library FPSP:
>
> http://svn.code.sf.net/p/previous/code/trunk/src/softfloat/softfloat_fpsp.c
>
> /*============================================================================
>
> This C source file is an extension to the SoftFloat IEC/IEEE Floating-point
> Arithmetic Package, Release 2a.
>
> Written by Andreas Grabher for Previous, NeXT Computer Emulator.
>
> =============================================================================*/
> ...
> /*----------------------------------------------------------------------------
> | Algorithms for transcendental functions supported by MC68881 and MC68882
> | mathematical coprocessors. The functions are derived from FPSP library.
> *----------------------------------------------------------------------------*/
>
> FPSP library can be found:
>
> https://ftp.nice.ch/pub/next/developer/hardware/m68k/
>
> And the assembly source code is not free at all:
>
> https://ftp.nice.ch/pub/next/developer/hardware/m68k/_libFPSP.1.p2.N.s/l_fpsp.h
>
>
> | Copyright (C) Motorola, Inc. 1991
> | All Rights Reserved
> |
> | THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MOTOROLA
> | The copyright notice above does not evidence any
> | actual or intended publication of such source code.
>
>
> So I'm wondering what license apply to the C version found in "Previous".
Good question. It's clearly not copied code (since the FPSP library is
all native m68k assembly), but presumably it's the same algorithms
transliterated into C...
thanks
-- PMM
- [Qemu-devel] [PATCH v2 0/5] target/m68k: implement 680x0 FPU (part 3), Laurent Vivier, 2017/11/23
- [Qemu-devel] [PATCH v2 2/5] target/m68k: add fmod/frem, Laurent Vivier, 2017/11/23
- [Qemu-devel] [PATCH v2 3/5] softfloat: use floatx80_infinity in softfloat, Laurent Vivier, 2017/11/23
- [Qemu-devel] [PATCH v2 4/5] softfloat: add floatx80_getman(), floatx80_getexp(), floatx80_scale(), Laurent Vivier, 2017/11/23
- [Qemu-devel] [PATCH v2 5/5] target-m68k: add fscale, fgetman and fgetexp, Laurent Vivier, 2017/11/23
- [Qemu-devel] [PATCH v2 1/5] softfloat: add floatx80_mod(), Laurent Vivier, 2017/11/23
- Re: [Qemu-devel] [PATCH v2 0/5] target/m68k: implement 680x0 FPU (part 3), Peter Maydell, 2017/11/29