From: Boris Ostrovsky Date: Tue, 15 Nov 2016 04:52:26 +0000 (-0500) Subject: tools/libacpi: Re-licence remaining GPL code to LGPLv2.1 X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~97 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=60409f690482eaa34d285aa9c070afa0e5bc7f61;p=xen.git tools/libacpi: Re-licence remaining GPL code to LGPLv2.1 We now have permission from Lenovo to relicense commit 801d469ad8b2 ("[HVM] ACPI support patch 3 of 4: ACPI _PRT table") to LGPLv2.1 This essentially means reverting commits c3397311a658 ("acpi: Prevent GPL-only code from seeping into non-GPL binaries") and 26c4f0b8a4cf ("tools/libacpi: fix sed usage") Signed-off-by: Boris Ostrovsky Acked-by: Ken Lancaster Reviewed-by: Wei Liu Acked-by: Jan Beulich Release-acked-by: Wei Liu --- diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile index 77d755190f..002ff181f5 100644 --- a/tools/firmware/hvmloader/Makefile +++ b/tools/firmware/hvmloader/Makefile @@ -63,9 +63,6 @@ ROMBIOS_ROM := $(ROMBIOS_DIR)/BIOS-bochs-latest ROMS += $(ROMBIOS_ROM) $(STDVGA_ROM) $(CIRRUSVGA_ROM) $(ETHERBOOT_ROMS) endif -# Certain parts of ACPI builder are GPL-only -export GPL := y - .PHONY: all all: acpi subdirs-all $(MAKE) hvmloader diff --git a/tools/libacpi/COPYING b/tools/libacpi/COPYING index 5f2f87ee92..063062b97c 100644 --- a/tools/libacpi/COPYING +++ b/tools/libacpi/COPYING @@ -8,18 +8,6 @@ Where clause 3 is invoked in order to relicense under the GPL then this shall be considered to be GPL v2 only for files which have specified LGPL v2.1 only. -gpl sub-directory -================= -This directory contains a gpl sub-directory which contains code -licensed under the GPL v2, because we have not yet been able to get -the permission to relicense the relevant code to LGPL v2.1. See -gpl/COPYING for more information. - -The makefile in this component allows to build a GPL and LGPL only -variant of this library, the latter omits all GPL source code. - - - GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 diff --git a/tools/libacpi/Makefile b/tools/libacpi/Makefile index b79db470b8..506d85e107 100644 --- a/tools/libacpi/Makefile +++ b/tools/libacpi/Makefile @@ -21,7 +21,7 @@ endif MK_DSDT = $(ACPI_BUILD_DIR)/mk_dsdt -C_SRC-$(GPL) = dsdt_anycpu.c dsdt_15cpu.c dsdt_anycpu_qemu_xen.c +C_SRC-$(CONFIG_X86) = dsdt_anycpu.c dsdt_15cpu.c dsdt_anycpu_qemu_xen.c C_SRC-$(CONFIG_ARM_64) = dsdt_anycpu_arm.c C_SRC = $(addprefix $(ACPI_BUILD_DIR)/, dsdt_pvh.c $(C_SRC-y)) H_SRC = $(addprefix $(ACPI_BUILD_DIR)/, ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h) @@ -45,30 +45,20 @@ $(H_SRC): $(ACPI_BUILD_DIR)/%.h: %.asl iasl $(MK_DSDT): mk_dsdt.c $(HOSTCC) $(HOSTCFLAGS) $(CFLAGS_xeninclude) -D__XEN_TOOLS__ -o $@ mk_dsdt.c -ifeq ($(GPL),y) -$(ACPI_BUILD_DIR)/dsdt_anycpu_qemu_xen.asl: dsdt.asl dsdt_acpi_info.asl gpl/mk_dsdt_gpl.sh $(MK_DSDT) +$(ACPI_BUILD_DIR)/dsdt_anycpu_qemu_xen.asl: dsdt.asl dsdt_acpi_info.asl $(MK_DSDT) # Remove last bracket - awk 'NR > 1 {print s} {s=$$0}' $< > $@.1.$(TMP_SUFFIX) - # Strip license comment - sed '1,/\*\//d' $@.1.$(TMP_SUFFIX) > $@.$(TMP_SUFFIX) - rm -f $@.1.$(TMP_SUFFIX) - $(SHELL) gpl/mk_dsdt_gpl.sh >> $@.$(TMP_SUFFIX) + awk 'NR > 1 {print s} {s=$$0}' $< > $@.$(TMP_SUFFIX) cat dsdt_acpi_info.asl >> $@.$(TMP_SUFFIX) $(MK_DSDT) --debug=$(debug) --dm-version qemu-xen >> $@.$(TMP_SUFFIX) mv -f $@.$(TMP_SUFFIX) $@ # NB. awk invocation is a portable alternative to 'head -n -1' -$(ACPI_BUILD_DIR)/dsdt_%cpu.asl: dsdt.asl dsdt_acpi_info.asl gpl/mk_dsdt_gpl.sh $(MK_DSDT) +$(ACPI_BUILD_DIR)/dsdt_%cpu.asl: dsdt.asl dsdt_acpi_info.asl $(MK_DSDT) # Remove last bracket - awk 'NR > 1 {print s} {s=$$0}' $< > $@.1.$(TMP_SUFFIX) - # Strip license comment - sed '1,/\*\//d' $@.1.$(TMP_SUFFIX) > $@.$(TMP_SUFFIX) - rm -f $@.1.$(TMP_SUFFIX) - $(SHELL) gpl/mk_dsdt_gpl.sh >> $@.$(TMP_SUFFIX) + awk 'NR > 1 {print s} {s=$$0}' $< > $@.$(TMP_SUFFIX) cat dsdt_acpi_info.asl >> $@.$(TMP_SUFFIX) $(MK_DSDT) --debug=$(debug) --maxcpu $* >> $@.$(TMP_SUFFIX) mv -f $@.$(TMP_SUFFIX) $@ -endif $(ACPI_BUILD_DIR)/dsdt_pvh.asl: dsdt_acpi_info.asl $(MK_DSDT) printf "DefinitionBlock (\"DSDT.aml\", \"DSDT\", 5, \"Xen\", \"HVM\", 0)\n{" > $@ diff --git a/tools/libacpi/dsdt.asl b/tools/libacpi/dsdt.asl index 2db40e4e69..fa8ff317b2 100644 --- a/tools/libacpi/dsdt.asl +++ b/tools/libacpi/dsdt.asl @@ -442,4 +442,15 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "Xen", "HVM", 0) } } } + /* _S3 and _S4 are in separate SSDTs */ + Name (\_S5, Package (0x04) { + 0x00, /* PM1a_CNT.SLP_TYP */ + 0x00, /* PM1b_CNT.SLP_TYP */ + 0x00, /* reserved */ + 0x00 /* reserved */ + }) + Name(PICD, 0) + Method(_PIC, 1) { + Store(Arg0, PICD) + } } diff --git a/tools/libacpi/gpl/COPYING b/tools/libacpi/gpl/COPYING deleted file mode 100644 index f995ef691c..0000000000 --- a/tools/libacpi/gpl/COPYING +++ /dev/null @@ -1,22 +0,0 @@ -Unlike files in the directory above that are licensed under GNU Lesser -General Public License version 2.1, files here are licensed under GNU -General Public License version 2. - -A copy of this license can be obtained at - - -INBOUND LICENSE - -Contributions to this directory are made under the LGPLv2.1 *only* as -described in the COPYING file of the parent directory. As LGPLv2.1 is -compatible with the GPLv2, the resulting file is GPLv2 when seen as a -whole. - -The intention of this inbound license, is to avoid having to ask -subsequent contributors to this directory for permission to change the -license from GPLv2 to LGPLv2.1, once we get permission from the -remaining copyright holders of this directory to change the license to -LGPLv2.1. - -Note: The only outstanding permission required to re-license this -directory to LGPLv2.1 is from Lenovo. diff --git a/tools/libacpi/gpl/mk_dsdt_gpl.sh b/tools/libacpi/gpl/mk_dsdt_gpl.sh deleted file mode 100755 index 38fe01abd8..0000000000 --- a/tools/libacpi/gpl/mk_dsdt_gpl.sh +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/sh - -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. -# -# You should have received a copy of the GNU General Public License along with -# this program; If not, see . -# - -cat <<'EndOfASL' - /* Beginning of GPL-only code */ - - /* _S3 and _S4 are in separate SSDTs */ - Name (\_S5, Package (0x04) { - 0x00, /* PM1a_CNT.SLP_TYP */ - 0x00, /* PM1b_CNT.SLP_TYP */ - 0x00, /* reserved */ - 0x00 /* reserved */ - }) - Name(PICD, 0) - Method(_PIC, 1) { - Store(Arg0, PICD) - } -EndOfASL - -# PCI-ISA link definitions -# BUFA: List of ISA IRQs available for linking to PCI INTx. -# BUFB: IRQ descriptor for returning from link-device _CRS methods. -cat <<'EndOfASL' - Scope ( \_SB.PCI0 ) { - Name ( BUFA, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) { 5, 10, 11 } } ) - Name ( BUFB, Buffer() { 0x23, 0x00, 0x00, 0x18, 0x79, 0 } ) - CreateWordField ( BUFB, 0x01, IRQV ) -EndOfASL - -for i in $(seq 1 4) -do - link=`echo "A B C D" | cut -d" " -f $i` - cat <