summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2020-06-18 15:03:22 -0700
committerPatrick Georgi <pgeorgi@google.com>2020-06-30 08:57:03 +0000
commitbc1cb38ce15e059988263b04c0ea751ddf4b052d (patch)
treea0ec7d36b9b1cc1979e0779de988b6bde4514a33
parentc5646e426be24bff03acd4e90f5e343a64a6a211 (diff)
downloadcoreboot-bc1cb38ce15e059988263b04c0ea751ddf4b052d.tar.xz
Add qc_blobs repository
This patch adds a separate blobs repository for Qualcomm blobs, analogous to the existing AMD blobs. Qualcomm's binary licenses allow files to be redistributed and used by anyone, but they explicitly require the user to agree to the license terms when just *downloading* the binary (even if they're not using them to build any firmware). Some community members do not like to have to agree to licenses for files they're not actually using, so we are keeping these files separate from the main blobs repository and adding an extra Kconfig to make sure the user is aware of and must explicitly agree to this before downloading these files. Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: I247746c1b633343064c9f32ef1556000475d6c4a Reviewed-on: https://review.coreboot.org/c/coreboot/+/42548 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
-rw-r--r--.gitmodules5
m---------3rdparty/qc_blobs0
-rw-r--r--Makefile.inc3
-rw-r--r--src/Kconfig20
-rwxr-xr-xutil/abuild/abuild2
-rwxr-xr-xutil/release/build-release1
6 files changed, 30 insertions, 1 deletions
diff --git a/.gitmodules b/.gitmodules
index 9545bb624d..bc4a6eb053 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -46,3 +46,8 @@
path = 3rdparty/cmocka
url = ../cmocka.git
update = none
+[submodule "3rdparty/qc_blobs"]
+ path = 3rdparty/qc_blobs
+ url = ../qc_blobs.git
+ update = none
+ ignore = dirty
diff --git a/3rdparty/qc_blobs b/3rdparty/qc_blobs
new file mode 160000
+Subproject 126fef6b996237403039aa603945fc4caa75c8d
diff --git a/Makefile.inc b/Makefile.inc
index bbb6685c2d..89bb3e4239 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -202,6 +202,9 @@ endif
ifeq ($(CONFIG_USE_AMD_BLOBS),y)
forgetthis:=$(if $(GIT),$(shell git submodule update --init --checkout 3rdparty/amd_blobs))
endif
+ifeq ($(CONFIG_USE_QC_BLOBS),y)
+forgetthis:=$(if $(GIT),$(shell git submodule update --init --checkout 3rdparty/qc_blobs))
+endif
endif
UPDATED_SUBMODULES:=1
COREBOOT_EXPORTS += UPDATED_SUBMODULES
diff --git a/src/Kconfig b/src/Kconfig
index f9c3e6afc8..f192776cf5 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -234,6 +234,26 @@ config USE_AMD_BLOBS
Note that for some products, omitting PSP, SMU images, or other items
may result in a nonbooting coreboot.rom.
+config USE_QC_BLOBS
+ bool "Allow QC blobs repository (selecting this agrees to the license!)
+ depends on USE_BLOBS
+ help
+ This draws in the qc_blobs repository, which contains binary files
+ distributed by Qualcomm that are required to build firmware for
+ certain Qualcomm SoCs (including QcLib, QC-SEC, qtiseclib and QUP
+ firmware). If you say Y here you are implicitly agreeing to the
+ Qualcomm license agreement which can be found at:
+ https://review.coreboot.org/cgit/qc_blobs.git/tree/LICENSE
+
+ *****************************************************
+ PLEASE MAKE SURE YOU READ AND AGREE TO ALL TERMS IN
+ ABOVE LICENSE AGREEMENT BEFORE SELECTING THIS OPTION!
+ *****************************************************
+
+ Not selecting this option means certain Qualcomm SoCs and related
+ mainboards cannot be built and will be hidden from the "Mainboards"
+ section.
+
config COVERAGE
bool "Code coverage support"
depends on COMPILER_GCC
diff --git a/util/abuild/abuild b/util/abuild/abuild
index 6e14765cca..903a569b3e 100755
--- a/util/abuild/abuild
+++ b/util/abuild/abuild
@@ -714,7 +714,7 @@ while true ; do
shift;;
-B|--blobs) shift
customizing="${customizing}, blobs"
- configoptions="${configoptions}CONFIG_USE_AMD_BLOBS=y\nCONFIG_ADD_FSP_BINARIES=y\n"
+ configoptions="${configoptions}CONFIG_USE_AMD_BLOBS=y\nCONFIG_USE_QC_BLOBS=y\nCONFIG_ADD_FSP_BINARIES=y\n"
;;
-A|--any-toolchain) shift
customizing="${customizing}, any-toolchain"
diff --git a/util/release/build-release b/util/release/build-release
index 7ca6001d2b..ce8e600bc1 100755
--- a/util/release/build-release
+++ b/util/release/build-release
@@ -72,6 +72,7 @@ exclude_paths="3rdparty/blobs "
exclude_paths+="3rdparty/fsp "
exclude_paths+="3rdparty/intel-microcode "
exclude_paths+="3rdparty/amd_blobs "
+exclude_paths+="3rdparty/qc_blobs "
for i in ${exclude_paths}; do
blobs_paths+="coreboot-${VERSION_NAME}/${i} "
exclude_opts+="--exclude=coreboot-${VERSION_NAME}/${i} "