commonlib: Add commonlib/bsd

This patch creates a new commonlib/bsd subdirectory with a similar
purpose to the existing commonlib, with the difference that all files
under this subdirectory shall be licensed under the BSD-3-Clause license
(or compatible permissive license). The goal is to allow more code to be
shared with libpayload in the future.

Initially, I'm going to move a few files there that have already been
BSD-licensed in the existing commonlib. I am also exracting most
contents of the often-needed <commonlib/helpers.h> as long as they have
either been written by me (and are hereby relicensed) or have an
existing equivalent in BSD-licensed libpayload code. I am also
relicensing <commonlib/compression.h> (written by me) and
<commonlib/compiler.h> (same stuff exists in libpayload).

Finally, I am extracting the cb_err error code definitions from
<types.h> into a new BSD-licensed header so that future commonlib/bsd
code can build upon a common set of error values. I am making the
assumption here that the enum constants and the half-sentence fragments
of documentation next to them by themselves do not meet the threshold of
copyrightability.

Change-Id: I316cea70930f131e8e93d4218542ddb5ae4b63a2
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38420
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
Julius Werner
2019-12-11 15:47:42 -08:00
parent e4d6c033fe
commit 98eeb96135
40 changed files with 244 additions and 350 deletions

View File

@@ -113,8 +113,8 @@ TOOLCPPFLAGS += -D_XOPEN_SOURCE=700 # strdup() from string.h
TOOLCPPFLAGS += -I$(top)/util/cbfstool/flashmap
TOOLCPPFLAGS += -I$(top)/util/cbfstool
TOOLCPPFLAGS += -I$(objutil)/cbfstool
TOOLCPPFLAGS += -I$(top)/src/commonlib/include
TOOLCPPFLAGS += -include $(top)/src/commonlib/include/commonlib/compiler.h
TOOLCPPFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include
TOOLCPPFLAGS += -include $(top)/src/commonlib/bsd/include/commonlib/bsd/compiler.h
TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/include
TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/2lib/include
# UEFI header file support. It's not pretty, but that's what we currently
@@ -163,6 +163,10 @@ $(objutil)/cbfstool/%.o: $(top)/src/commonlib/%.c
printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
$(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
$(objutil)/cbfstool/%.o: $(top)/src/commonlib/bsd/%.c
printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
$(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lz4/lib/%.c
printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
$(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<

View File

@@ -26,7 +26,7 @@
#include "cbfs.h"
#include "rmodule.h"
#include <commonlib/compression.h>
#include <commonlib/bsd/compression.h>
/* Checks if program segment contains the ignored section */
static int is_phdr_ignored(Elf64_Phdr *phdr, Elf64_Shdr *shdr)

View File

@@ -23,7 +23,7 @@
#include <stdlib.h>
#include "common.h"
#include "lz4/lib/lz4frame.h"
#include <commonlib/compression.h>
#include <commonlib/bsd/compression.h>
static int lz4_compress(char *in, int in_len, char *out, int *out_len)
{

View File

@@ -20,8 +20,8 @@ INSTALL ?= /usr/bin/env install
PREFIX ?= /usr/local
CFLAGS ?= -O2
CFLAGS += -Wall -Wextra -Wmissing-prototypes -Werror
CPPFLAGS += -I . -I $(ROOT)/commonlib/include
CPPFLAGS += -include commonlib/compiler.h
CPPFLAGS += -I . -I $(ROOT)/commonlib/include -I $(ROOT)/commonlib/bsd/include
CPPFLAGS += -include $(ROOT)/commonlib/bsd/include/commonlib/bsd/compiler.h
OBJS = $(PROGRAM).o

View File

@@ -19,9 +19,9 @@ CC = gcc
INSTALL = /usr/bin/env install
PREFIX = /usr/local
CFLAGS = -O2 -g -Wall -Wextra -Wmissing-prototypes -Werror
CFLAGS += -I../../src/commonlib/include
CFLAGS += -I../../src/commonlib/include -I../../src/commonlib/bsd/include
CFLAGS += -I../cbfstool/flashmap
CFLAGS += -include ../../src/commonlib/include/commonlib/compiler.h
CFLAGS += -include ../../src/commonlib/bsd/include/commonlib/bsd/compiler.h
LDFLAGS =
OBJS = ifdtool.o

View File

@@ -25,7 +25,8 @@ PREFIX ?= /usr/local
CFLAGS ?= -O2 -g -Wall -Wextra -Wmissing-prototypes
LDFLAGS += -lpci -lz
CPPFLAGS += -I$(top)/src/commonlib/include
CPPFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include
OBJS = inteltool.o pcr.o cpu.o gpio.o gpio_groups.o rootcmplx.o powermgt.o \
memory.o pcie.o amb.o ivy_memory.o spi.o gfx.o ahci.o \

View File

@@ -17,7 +17,7 @@ PROGRAM = intelvbttool
CC ?= gcc
CFLAGS ?= -O2 -g
CFLAGS += -Wall -Werror
CFLAGS += -I../../src/commonlib/include
CFLAGS += -I../../src/commonlib/include -I ../../src/commonlib/bsd/include
all: $(PROGRAM)

View File

@@ -4,7 +4,7 @@ sconfigobj += sconfig.tab.o
sconfigobj += main.o
SCONFIGFLAGS += -I$(top)/util/sconfig -I$(objutil)/sconfig
SCONFIGFLAGS += -I$(top)/src/commonlib/include
SCONFIGFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include
$(objutil)/sconfig:
mkdir -p $@