Harry Pan (harry.pan(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18283
-gerrit
commit dfe7358bcfced64520c63857fde25e557cfa1e2e
Author: Harry Pan <harry.pan(a)intel.com>
Date: Thu Feb 2 15:42:25 2017 +0800
mainboard/google/snappy: Set PL2 override to 15000mW
This patch sets PL2 override value to 15W in RAPL registers.
BUG=chrome-os-partner:62110
BRANCH=reef
TEST=Apply new firmware to evaluate Octane benchmark score.
Change-Id: I51734051586753677129314b5273fb275c74f5d2
Signed-off-by: Harry Pan <harry.pan(a)intel.com>
---
src/mainboard/google/reef/variants/snappy/devicetree.cb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/mainboard/google/reef/variants/snappy/devicetree.cb b/src/mainboard/google/reef/variants/snappy/devicetree.cb
index 6d7c8ca..c83306d 100644
--- a/src/mainboard/google/reef/variants/snappy/devicetree.cb
+++ b/src/mainboard/google/reef/variants/snappy/devicetree.cb
@@ -53,6 +53,8 @@ chip soc/intel/apollolake
# current VR solution. Experiments show that SoC TDP max (6W) can
# be reached when RAPL PL1 is set to 12W.
register "tdp_pl1_override_mw" = "12000"
+ # Set RAPL PL2 to 15W.
+ register "tdp_pl2_override_mw" = "15000"
# Enable Audio Clock and Power gating
register "hdaudio_clk_gate_enable" = "1"
Martin Roth (martinroth(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18001
-gerrit
commit c83ccbcb92ab0358726a846e05a2fca325c3a576
Author: Martin Roth <gaumless(a)gmail.com>
Date: Fri Dec 30 17:00:19 2016 -0700
util/docker: Update dockerfiles & build method
All files:
- Previously, various things were hardcoded into the docker containers
that made it necessary to update the Dockerfile files for each new
version of the sdk. Turn those into 'Variables" that are updated during
the build step. Because the makefile is piping the dockerfile through
the sed command and back into the docker build command, the normal
docker "COPY" keyword doesn't work.
coreboot-jenkins-node changes:
- Run ssh-keygen -A to explicitly generate the ssh keys. This fixes an
error: Could not load host key: /etc/ssh/ssh_host_dsa_key
coreboot-sdk changes:
- Remove apt-get upgrade command - The Dockerfile guide recommends
not to run this.
- Change libssl-dev to libssl1.0-dev. libssl-dev's header files won't
build the Chrome-EC codebase.
- Add libisl-dev, needed to build the riscv toolchain.
- Build the toolchain using the -b option
- Add environment variables containing the version and commit that the
coreboot-sdk was built from.
Makefile:
- Update targets to use the version and commit variables
Change-Id: I2c1376fe4b791da2a62fca11bc92c4774cbef1c8
Signed-off-by: Martin Roth <gaumless(a)gmail.com>
---
util/docker/Makefile | 31 +++++++++++++++++++++-------
util/docker/coreboot-jenkins-node/Dockerfile | 30 +++++++++++++++++++++------
util/docker/coreboot-sdk/Dockerfile | 27 ++++++++++++++++++------
3 files changed, 69 insertions(+), 19 deletions(-)
diff --git a/util/docker/Makefile b/util/docker/Makefile
index f669b93..7df6851 100644
--- a/util/docker/Makefile
+++ b/util/docker/Makefile
@@ -14,7 +14,13 @@
##
export top=$(abspath $(CURDIR)/../..)
export crossgcc_version=$(shell $(top)/util/crossgcc/buildgcc --version | grep 'cross toolchain' | sed 's/^.*\sv//' | sed 's/\s.*$$//')
-export DOCKER:=$(shell env sh -c "command -v docker")
+export DOCKER:=$(shell $(SHELL) -c "command -v docker")
+
+# Version of the jenkins / sdk container
+export COREBOOT_CONTAINER_VERSION?=$(crossgcc_version)
+
+# Commit id to build from
+export DOCKER_COMMIT?=$(shell git log -n 1 --pretty=%h)
test-docker:
$(if $(DOCKER),,\
@@ -28,16 +34,23 @@ test-docker-login: test-docker
$(error Docker authentication file not found. Run 'docker login'))
coreboot-sdk: test-docker
- $(DOCKER) build -t coreboot/coreboot-sdk:$(crossgcc_version) coreboot-sdk
+ @echo "Building coreboot SDK $(crossgcc_version) from commit $(DOCKER_COMMIT)"
+ cat coreboot-sdk/Dockerfile | \
+ sed "s/{{DOCKER_COMMIT}}/$(DOCKER_COMMIT)/" | \
+ sed "s/{{SDK_VERSION}}/$(COREBOOT_CONTAINER_VERSION)/" | \
+ $(DOCKER) build -t coreboot/coreboot-sdk:$(COREBOOT_CONTAINER_VERSION) -
upload-coreboot-sdk: test-docker-login
- $(DOCKER) push coreboot/coreboot-sdk:$(crossgcc_version)
+ $(DOCKER) push coreboot/coreboot-sdk:$(COREBOOT_CONTAINER_VERSION)
coreboot-jenkins-node: test-docker
- $(DOCKER) build -t coreboot/coreboot-jenkins-node:$(crossgcc_version) coreboot-jenkins-node
+ cat coreboot-jenkins-node/Dockerfile | \
+ sed "s/{{SDK_VERSION}}/$(COREBOOT_CONTAINER_VERSION)/" | \
+ sed "s|{{SSH_KEY}}|$$(cat coreboot-jenkins-node/authorized_keys)|" | \
+ $(DOCKER) build -t coreboot/coreboot-jenkins-node:$(COREBOOT_CONTAINER_VERSION) -
upload-coreboot-jenkins-node: test-docker-login
- $(DOCKER) push coreboot/coreboot-jenkins-node:$(crossgcc_version)
+ $(DOCKER) push coreboot/coreboot-jenkins-node:$(COREBOOT_CONTAINER_VERSION)
docker-killall: test-docker
@if [ -n "$$($(DOCKER) ps | grep 'coreboot')" ]; then \
@@ -52,7 +65,7 @@ clean-coreboot-images: docker-killall
docker-build-coreboot: test-docker
$(DOCKER) run -u root -it -v $(top):/home/coreboot/coreboot \
- --rm coreboot/coreboot-sdk:$(crossgcc_version) \
+ --rm coreboot/coreboot-sdk:$(COREBOOT_CONTAINER_VERSION) \
/bin/bash -c "cd /home/coreboot/coreboot && \
make clean && \
make $(BUILD_CMD)"
@@ -62,7 +75,7 @@ docker-build-coreboot: test-docker
docker-abuild: test-docker
$(DOCKER) run -u root -it -v $(top):/home/coreboot/coreboot \
- --rm coreboot/coreboot-sdk:$(crossgcc_version) \
+ --rm coreboot/coreboot-sdk:$(COREBOOT_CONTAINER_VERSION) \
/bin/bash -c "cd /home/coreboot/coreboot && \
make clean && \
util/abuild/abuild $(ABUILD_ARGS)"
@@ -82,6 +95,10 @@ help:
@echo "Commands for using docker images"
@echo " docker-build-coreboot <BUILD_CMD=target> - Build coreboot under coreboot-sdk"
@echo " docker-abuild <ABUILD_ARGS='-a -B'> - Run abuild under coreboot-sdk"
+ @echo
+ @echo "Variables:"
+ @echo " COREBOOT_CONTAINER_VERSION = $(COREBOOT_CONTAINER_VERSION)"
+ @echo " DOCKER_COMMIT = $(DOCKER_COMMIT)"
.PHONY: test-docker test-docker-login
.PHONY: coreboot-jenkins-node upload-coreboot-jenkins-node
diff --git a/util/docker/coreboot-jenkins-node/Dockerfile b/util/docker/coreboot-jenkins-node/Dockerfile
index b60466d..230842c 100644
--- a/util/docker/coreboot-jenkins-node/Dockerfile
+++ b/util/docker/coreboot-jenkins-node/Dockerfile
@@ -1,5 +1,20 @@
-FROM coreboot/coreboot-sdk:1.42
-MAINTAINER Martin Roth <gaumless(a)gmail.com>
+# This dockerfile is not meant to be used directly by docker. The
+# {{}} varibles are replaced with values by the makefile. Please generate
+# the docker image for this file by running:
+#
+# make coreboot-jenkins-node
+#
+# Variables can be updated on the make command line or left blank to use
+# the default values set by the makefile.
+#
+# SDK_VERSION is used to name the version of the coreboot sdk to use.
+# Typically, this corresponds to the toolchain version.
+# SSH_KEY is the contents of the file coreboot-jenkins-node/authorized_keys
+# Because we're piping the contents of the dockerfile into the
+# docker build command, the 'COPY' keyword isn't valid.
+
+FROM coreboot/coreboot-sdk:{{SDK_VERSION}}
+MAINTAINER Martin Roth <martin(a)coreboot.org>
USER root
# Check to make sure /dev is a tmpfs file system
@@ -10,13 +25,17 @@ RUN apt-get -y update && \
lua5.3 liblua5.3-dev openjdk-8-jre-headless openssh-server && \
apt-get clean
-COPY authorized_keys /home/coreboot/.ssh/authorized_keys
-RUN chown -R coreboot /home/coreboot/.ssh && \
+# Because of the way that the variables are being replaced, docker's 'COPY'
+# command does not work
+RUN mkdir -p /home/coreboot/.ssh && \
+ echo "{{SSH_KEY}}" > /home/coreboot/.ssh/authorized_keys && \
+ chown -R coreboot:coreboot /home/coreboot/.ssh && \
chmod 0700 /home/coreboot/.ssh && \
chmod 0600 /home/coreboot/.ssh/authorized_keys
RUN mkdir /var/run/sshd && \
- chmod 0755 /var/run/sshd
+ chmod 0755 /var/run/sshd && \
+ /usr/bin/ssh-keygen -A
# Build encapsulate tool
ADD https://raw.githubusercontent.com/pgeorgi/encapsulate/master/encapsulate.c /tmp/encapsulate.c
@@ -24,7 +43,6 @@ RUN gcc -o /usr/sbin/encapsulate /tmp/encapsulate.c && \
chown root /usr/sbin/encapsulate && \
chmod +s /usr/sbin/encapsulate
-
VOLUME /data/cache
ENTRYPOINT mkdir /dev/cb-build && chown coreboot /dev/cb-build && /usr/sbin/sshd -p 49151 -D
EXPOSE 49151
diff --git a/util/docker/coreboot-sdk/Dockerfile b/util/docker/coreboot-sdk/Dockerfile
index cb0023c..feaf843 100644
--- a/util/docker/coreboot-sdk/Dockerfile
+++ b/util/docker/coreboot-sdk/Dockerfile
@@ -1,26 +1,39 @@
+# This dockerfile is not meant to be used directly by docker. The
+# {{}} varibles are replaced with values by the makefile. Please generate
+# the docker image for this file by running:
+#
+# make coreboot-sdk
+#
+# Variables can be updated on the make command line or left blank to use
+# the default values set by the makefile.
+#
+# SDK_VERSION is used to name the version of the coreboot sdk to use.
+# Typically, this corresponds to the toolchain version. This
+# is used to identify this docker image.
+# DOCKER_COMMIT is the coreboot Commit-ID to build the toolchain from.
+
FROM debian:sid
-MAINTAINER Martin Roth <gaumless(a)gmail.com>
+MAINTAINER Martin Roth <martin(a)coreboot.org>
RUN \
useradd -p locked -m coreboot && \
apt-get -qq update && \
- apt-get -qq upgrade && \
apt-get -qqy install gcc g++ make patch python diffutils bison flex \
git doxygen ccache subversion p7zip-full unrar-free \
m4 wget curl bzip2 vim-common cmake xz-utils pkg-config \
dh-autoreconf unifont \
- libssl-dev libgmp-dev zlib1g-dev libpci-dev liblzma-dev \
+ libssl1.0-dev libgmp-dev zlib1g-dev libpci-dev liblzma-dev \
libyaml-dev libncurses5-dev uuid-dev libusb-dev libftdi-dev \
libusb-1.0-0-dev libreadline-dev libglib2.0-dev libgmp-dev \
- libelf-dev libxml2-dev libfreetype6-dev && \
+ libelf-dev libxml2-dev libfreetype6-dev libisl-dev && \
apt-get clean
RUN \
cd /root && \
git clone http://review.coreboot.org/coreboot && \
cd coreboot/util/crossgcc && \
- git checkout 589ef9de8fa && \
- make all_without_gdb CPUS=$(nproc) DEST=/opt/xgcc && \
+ git checkout {{DOCKER_COMMIT}} && \
+ make all_without_gdb CPUS=$(nproc) DEST=/opt/xgcc BUILDGCC_OPTIONS=-b && \
cd /root && \
rm -rf coreboot
@@ -31,4 +44,6 @@ RUN mkdir /home/coreboot/.ccache && \
VOLUME /home/coreboot/.ccache
ENV PATH $PATH:/opt/xgcc/bin
+ENV SDK_VERSION={{SDK_VERSION}}
+ENV SDK_COMMIT={{DOCKER_COMMIT}}
USER coreboot
the following patch was just integrated into master:
commit 84e6881ba5bdba7dc54c82b8f372079191ba4cd8
Author: Arthur Heymans <arthur(a)aheymans.xyz>
Date: Sun Oct 16 23:09:16 2016 +0200
mb/lenovo/x60,t60: Move EC CMOS parameters in checksummed space
This allows for defaults to be applied to CMOS parameters
when cmos checksum is incorrect.
This probably results in changed cmos settings for current users of
these targets.
Change-Id: Ifec0093f4b0dbaa51b96812a041f0eaf5c58ee86
Signed-off-by: Arthur Heymans <arthur(a)aheymans.xyz>
Reviewed-on: https://review.coreboot.org/17041
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth(a)google.com>
See https://review.coreboot.org/17041 for details.
-gerrit
the following patch was just integrated into master:
commit 31db6f5e179d6e0162c010583a31e1f3addf03b7
Author: Tobias Diedrich <ranma+openocd(a)tdiedrich.de>
Date: Sun Jan 29 18:03:09 2017 +0100
asus/f2a85-m_le: Activate IOMMU support
Activate the IOMMU for the ASUS F2A85-M LE board.
Enable the IOMMU in `devicetree.cb` and build AGESA IOMMU code by
enabling the option in `buildOpts.c`.
ACPI and MPTABLES interrupt routers are already present since they are
syminks to the F2A85-M version.
```
$ uname -a
Linux nukunuku 4.8.5 #35 SMP Sun Oct 30 19:34:55 CET 2016 x86_64 GNU/Linux
$ lspci -s 0.2
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit
$ dmesg | grep -i IOMMU
ACPI: IVRS 0x00000000BFFAFF70 000070 (v02 AMD AMDIOMMU 00000001 AMD 00000000)
AMD-Vi: Applying erratum 746 workaround for IOMMU at 0000:00:00.2
iommu: Adding device 0000:00:01.0 to group 0
[...]
iommu: Adding device 0000:00:18.5 to group 9
iommu: Adding device 0000:03:00.0 to group 8
AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
AMD IOMMUv2 driver by Joerg Roedel <jroedel(a)suse.de>
```
Change-Id: I6049fcfad53d16a99495d7a8fbc584c71e371d73
Signed-off-by: Tobias Diedrich <ranma+coreboot(a)tdiedrich.de>
Reviewed-on: https://review.coreboot.org/18259
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Martin Roth <martinroth(a)google.com>
See https://review.coreboot.org/18259 for details.
-gerrit
the following patch was just integrated into master:
commit 3236f7be093b3dfed606d6a6b4e81743ecfe0c5c
Author: Steven Dee <i(a)wholezero.org>
Date: Sun Jan 29 14:52:56 2017 -0500
ectool: Support OpenBSD
Adds checks for OpenBSD in all the places that were already checking for
NetBSD. This fixes e.g.:
ec.c:21:20: error: sys/io.h: No such file or directory
which was caused by defaulting to Linux.
Also, OpenBSD calls its amd64 iopl amd64_iopl instead of x86_64_iopl.
This change just defines iopl appropriately depending on the
OS and architecture.
TEST=Build on OpenBSD 6.0 or -current from 2017-01-25.
Change-Id: If6d92a9850c15cd9f8e287cc4f963d3ff881f72c
Signed-off-by: Steven Dee <i(a)wholezero.org>
Reviewed-on: https://review.coreboot.org/18260
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
See https://review.coreboot.org/18260 for details.
-gerrit