Alexandru Gagniuc (mr.nuke.me(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13299
-gerrit
commit c1c4a60489df9780a376b25b66e40075afa4f281
Author: Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com>
Date: Tue Oct 6 14:41:20 2015 -0700
arch/x86/Makefile.inc: Re-enable -Wa,--divide assembler flag
In the follow-on patches, we use constant division to calculate the
number of elements in an assembly structure. Since the size of one
element is not a power of two for all structures, we can't bit shift.
This allows us to do the computation at assembly time rather than
runtime.
Change-Id: Ic5693f39dee8daf759bfc16c79ac3c7ddb4de465
Signed-off-by: Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com>
---
src/arch/x86/Makefile.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc
index 21084d3..d96f6e7 100644
--- a/src/arch/x86/Makefile.inc
+++ b/src/arch/x86/Makefile.inc
@@ -84,7 +84,7 @@ define early_x86_stage
$(1)-y += memlayout.ld
# The '.' include path is needed for the generated assembly.inc file.
-$(1)-S-ccopts += -I.
+$(1)-S-ccopts += -I. -Wa,--divide
$$(objcbfs)/$(1).debug: $$$$($(1)-libs) $$$$($(1)-objs)
@printf " LINK $$(subst $$(obj)/,,$$(@))\n"
Alexandru Gagniuc (mr.nuke.me(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13304
-gerrit
commit d4a9a4a556762a6bc94a2c8686628f7e881ce2e4
Author: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Date: Mon Oct 5 13:45:22 2015 -0700
soc/apollolake: Add minimal accessors for sideband bus (IOSF)
Some configuration registers for the UART are placed behind the
sideband bus.
Change-Id: I84a620dbd0cf4b8f3fec119836d1c8f75c7f200a
Signed-off-by: Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com>
---
src/soc/intel/apollolake/include/soc/iosf.h | 30 +++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/src/soc/intel/apollolake/include/soc/iosf.h b/src/soc/intel/apollolake/include/soc/iosf.h
new file mode 100644
index 0000000..c9f578c
--- /dev/null
+++ b/src/soc/intel/apollolake/include/soc/iosf.h
@@ -0,0 +1,30 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2015 Intel Corp.
+ * (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef _SOC_APOLLOLAKE_IOSF_H_
+#define _SOC_APOLLOLAKE_IOSF_H_
+
+#include <arch/io.h>
+
+inline static void iosf_write(uint8_t port, uint16_t reg, uint32_t val)
+{
+ uintptr_t base = CONFIG_IOSF_BASE_ADDRESS | (port << 16) | (reg & ~3);
+ write32((void *)base, val);
+}
+
+inline static uint32_t iosf_read(uint8_t port, uint16_t reg)
+{
+ uintptr_t base = CONFIG_IOSF_BASE_ADDRESS | (port << 16) | (reg & ~3);
+ return read32((void *)base);
+}
+
+#endif /* _SOC_APOLLOLAKE_IOSF_H_ */
Martin Roth (martinroth(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13460
-gerrit
commit 34d91f63a91235356d3d12ed3d0a6d6fe18edfff
Author: Martin Roth <martinroth(a)google.com>
Date: Mon Jan 25 16:39:32 2016 -0700
kconfig_lint: Add warning if tristate type is used in coreboot
Although there's no reason we COULDN'T use tristate types, we haven't
up to this point. If there's a good reason to use them in the future,
this check can be removed.
Change-Id: I5f1903341f522bc957e394bc0fd288ba1adab431
Signed-off-by: Martin Roth <martinroth(a)google.com>
---
util/lint/kconfig_lint | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/util/lint/kconfig_lint b/util/lint/kconfig_lint
index 9384336..8bdca8d 100755
--- a/util/lint/kconfig_lint
+++ b/util/lint/kconfig_lint
@@ -949,6 +949,10 @@ sub handle_type {
my $expression;
( $type, $expression ) = handle_if_line( $type, $inside_config, $filename, $line_no );
+ if ( $type =~ /tristate/ ) {
+ show_warning("$filename:$line_no - tristate types are not used.");
+ }
+
if ($inside_config) {
if ( exists( $symbols{$inside_config}{type} ) ) {
if ( $symbols{$inside_config}{type} !~ /$type/ ) {
the following patch was just integrated into master:
commit 721ee01bb0668d2ea207048a11c339313ed248f5
Author: Martin Roth <martinroth(a)google.com>
Date: Mon Jan 25 15:12:21 2016 -0700
lint: Add a check for the executable bit being set on source code
Change-Id: Ia51bd0fa742b2cb17f638c15d669ad1a7f65fefd
Signed-off-by: Martin Roth <martinroth(a)google.com>
Reviewed-on: https://review.coreboot.org/13433
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
Tested-by: build bot (Jenkins)
See https://review.coreboot.org/13433 for details.
-gerrit
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12298
-gerrit
commit bd1edbcc7cf3e3e075ecdb6f34e6b47cfe40d174
Author: Patrick Georgi <pgeorgi(a)chromium.org>
Date: Tue Nov 3 15:30:02 2015 +0100
xcompile: Tell gcc that we need to access NULL pointers occassionally
gcc developers consider NULL pointers to be so bad that they add a trap
instruction (ud2 on x86, something similar on ARM) when gcc encounters
one.
We need them every now and then (eg. via/cx700 raminit), so tell the
compiler not to treat us like a userspace program.
Change-Id: I1a062bfa55548ed0c2d11196633c6f63e83b807c
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
---
util/xcompile/xcompile | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile
index 76c3698..8718c67 100755
--- a/util/xcompile/xcompile
+++ b/util/xcompile/xcompile
@@ -161,6 +161,11 @@ detect_special_flags() {
testcc "$GCC" "$CFLAGS_GCC -Wl,--build-id=none" &&
CFLAGS_GCC="$CFLAGS_GCC -Wl,--build-id=none"
+ # Without this flag, gcc's __builtin_trap() traps accesses to NULL
+ # that may well be intended in RAM init code.
+ testcc "$GCC" "$CFLAGS_GCC -fno-delete-null-pointer-checks"&&
+ CFLAGS_GCC="$CFLAGS_GCC -fno-delete-null-pointer-checks"
+
case "$architecture" in
x86)
# Always build for i686 -- no sse/mmx instructions since SMM
the following patch was just integrated into master:
commit 7e86cd4bb2fd403951b068b0c70fb4f77ef6d072
Author: Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com>
Date: Tue Oct 6 10:33:49 2015 -0700
soc/intel: Add skeleton infrastructure for Apollolake SOC
This is the very very minimum needed to compile the code.
Change-Id: I7f9e5f564181071591a4640019f59f91a4c456c6
Signed-off-by: Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com>
Reviewed-on: https://review.coreboot.org/13297
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
See https://review.coreboot.org/13297 for details.
-gerrit
the following patch was just integrated into master:
commit 6be6c8f2820db761c09ee4bd2cb4e3fd76285207
Author: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Date: Tue Jan 26 18:22:43 2016 -0800
arch/x86: Implement minimal bootblock for C_ENVIRONMENT_BOTOBLOCK
Some newer x86 systems can boot from non-memory-mapped boot media
(e.g. EMMC). The bootblock may be backed by small amounts of SRAM, or
other memory, similar to how most ARM chipsets work. In such cases, we
may not have enough code space for romstage very early on. This means
that CAR setup and early boot media (e.g. SPI, EMMC) drivers need to
be implemented within the limited amount memory of storage available.
Since the reset vector has to be contained in this early code memory,
the bootblock is the best place to implement loading of other stages.
Implement a bootblock which does the minimal initialization, up to,
and including switch to protected mode. This then transfers control
to platform-specific code. No stack is needed, and control is
transferred via a "jmp" such that no stack operations are involved.
Change-Id: I009b42b9a707cf11a74493bd4d8c189dc09b8ace
Signed-off-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Reviewed-on: https://review.coreboot.org/13485
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
See https://review.coreboot.org/13485 for details.
-gerrit