Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14571
-gerrit
commit d1d90185fa05de08273153199def7da189d4aa50
Author: Patrick Georgi <pgeorgi(a)chromium.org>
Date: Mon May 2 17:02:53 2016 +0800
fmaptool: Export some fmap knowledge to the build environment
By exporting base and offset of CBFS-formatted fmap regions, the code
can use these when it's not prudent to do a runtime lookup.
Change-Id: I20523b5cea68880af4cb1fcea4b37bb8ac2a23db
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
---
util/cbfstool/fmaptool.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/util/cbfstool/fmaptool.c b/util/cbfstool/fmaptool.c
index 1eda822..5aafffd 100644
--- a/util/cbfstool/fmaptool.c
+++ b/util/cbfstool/fmaptool.c
@@ -101,6 +101,20 @@ static bool write_header(const char *out_fname,
fputs("#ifndef FMAPTOOL_GENERATED_HEADER_H_\n", header);
fputs("#define FMAPTOOL_GENERATED_HEADER_H_\n\n", header);
fprintf(header, "#define %s %#x\n\n", HEADER_FMAP_OFFSET, fmap_offset);
+
+ /* also add defines for each CBFS-carrying fmap region: base and size */
+ cbfs_section_iterator_t cbfs_it = cbfs_sections_iterator();
+ while (cbfs_it) {
+ const struct flashmap_descriptor *item =
+ cbfs_sections_iterator_deref(cbfs_it);
+ assert(item->offset_known && item->size_known);
+ fprintf(header, "#define ___FMAP__%s_BASE 0x%x\n",
+ item->name, item->offset);
+ fprintf(header, "#define ___FMAP__%s_SIZE 0x%x\n",
+ item->name, item->size);
+ cbfs_sections_iterator_advance(&cbfs_it);
+ }
+
fputs("#endif\n", header);
fclose(header);
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14570
-gerrit
commit d5f1b21b1090682d74b7036f6aa3b6b0152a5ac7
Author: Patrick Georgi <pgeorgi(a)chromium.org>
Date: Mon May 2 16:50:31 2016 +0800
build system: rename fmap.h to fmap_config.h
There's an in-tree fmap.h, and the file generated by fmaptool is likely
used in tandem with it. To avoid problems, rename the generated file
(which so far isn't used).
Change-Id: I95dfde513a7f78677cf18ecd7ce8745e40af316b
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
---
Makefile.inc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile.inc b/Makefile.inc
index 0fb7a3d..812f998 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -700,12 +700,12 @@ $(obj)/fmap.fmd: $(CONFIG_FMDFILE) $(obj)/config.h
endif # ifeq ($(CONFIG_FMDFILE),)
# generated at the same time as fmap.fmap
-$(obj)/fmap.h: $(obj)/fmap.fmap
+$(obj)/fmap_config.h: $(obj)/fmap.fmap
$(obj)/fmap.desc: $(obj)/fmap.fmap
$(obj)/fmap.fmap: $(obj)/fmap.fmd $(FMAPTOOL)
- echo " FMAP $(FMAPTOOL) -h $(obj)/fmap.h $< $@"
- $(FMAPTOOL) -h $(obj)/fmap.h -R $(obj)/fmap.desc $< $@
+ echo " FMAP $(FMAPTOOL) -h $(obj)/fmap_config.h $< $@"
+ $(FMAPTOOL) -h $(obj)/fmap_config.h -R $(obj)/fmap.desc $< $@
$(obj)/coreboot.pre: $(objcbfs)/bootblock.bin $$(prebuilt-files) $(CBFSTOOL) $$(cpu_ucode_cbfs_file) $(obj)/fmap.fmap $(obj)/fmap.desc
$(CBFSTOOL) $@.tmp create -M $(obj)/fmap.fmap -r $(shell cat $(obj)/fmap.desc)
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14569
-gerrit
commit a4d63b150048133d099dde12e39022b5c7ce8018
Author: Patrick Georgi <pgeorgi(a)chromium.org>
Date: Mon May 2 16:32:02 2016 +0800
arch/x86: Drop CBFS_BASE_ADDRESS
It's unused.
Change-Id: I50af2b50d2c5a7a24afe9099c5c01d17ce54a6c9
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
---
src/arch/x86/Makefile.inc | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc
index 64d9892..a363430 100644
--- a/src/arch/x86/Makefile.inc
+++ b/src/arch/x86/Makefile.inc
@@ -47,9 +47,6 @@ cbfs-files-$(CONFIG_INTEL_MBI) += mbi.bin
mbi.bin-file := $(call strip_quotes,$(CONFIG_MBI_FILE))
mbi.bin-type := mbi
-## Calculate the base address of CBFS for later comparisons
-CBFS_BASE_ADDRESS=$(call int-add, $(call int-subtract, 0xffffffff $(CONFIG_CBFS_SIZE)) 1)
-
###############################################################################
# common support for early assembly includes
###############################################################################
the following patch was just integrated into master:
commit 4c76ab678ab892f30c047881c77e64cc3308f85b
Author: Furquan Shaikh <furquan(a)google.com>
Date: Wed Apr 27 22:06:47 2016 -0700
x86/memlayout.h: Do not include data/bss sections in C_ENVIRONMENT_BOOTBLOCK
C_ENVIRONMENT_BOOTBLOCK on x86 is like romstage and uses cache-as-ram
separately. It does not use any data/bss sections.
Change-Id: I8957f467f01e754fa2d95783466a01daa6c4e51a
Signed-off-by: Furquan Shaikh <furquan(a)google.com>
Reviewed-on: https://review.coreboot.org/14533
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
Reviewed-by: Andrey Petrov <andrey.petrov(a)intel.com>
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Leroy P Leahy <leroy.p.leahy(a)intel.com>
See https://review.coreboot.org/14533 for details.
-gerrit
Stefan Tauner (stefan.tauner(a)gmx.at) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14563
-gerrit
commit 190144ce5aec97ade557fde2de3d8002e1e3ba93
Author: Stefan Tauner <stefan.tauner(a)gmx.at>
Date: Sun May 1 19:41:28 2016 +0200
xcompile: test if gcc is really available
Just because an 'as' with a certain prefix is available does not guarantee
that a 'gcc' with the same prefix is available as well.
Without a check detect_compiler_runtime() would try to execute an
unavailable binary and print something like this:
.../xcompile: line 218: arm-linux-gnueabi-gcc: command not found
Change-Id: Icbadfeb2860152f7cf7696a9122521d0d881f3aa
Signed-off-by: Stefan Tauner <stefan.tauner(a)gmx.at>
---
util/xcompile/xcompile | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile
index 8e1cd10..13a0e8f 100755
--- a/util/xcompile/xcompile
+++ b/util/xcompile/xcompile
@@ -149,9 +149,6 @@ testas() {
local obj_arch="$(expr "$obj_type" : '.*format \(.[a-z0-9-]*\)')"
[ "$obj_arch" = "$full_arch" ] || return 1
- # Architecture matched.
- GCCPREFIX="$gccprefix"
-
unset ASFLAGS LDFLAGS
unset CFLAGS_GCC CFLAGS_CLANG
@@ -414,10 +411,13 @@ test_architecture() {
for gccprefix in $search ""; do
program_exists "${gccprefix}as" || continue
for endian in $TENDIAN ""; do
+ { testas "$gccprefix" "$TWIDTH" "$TBFDARCH" \
+ "" "$endian" ||
testas "$gccprefix" "$TWIDTH" "$TBFDARCH" \
- "" "$endian" && break 3
- testas "$gccprefix" "$TWIDTH" "$TBFDARCH" \
- "TRUE" "$endian" && break 3
+ "TRUE" "$endian" ; } && \
+ testcc "${gccprefix}gcc" "$CFLAGS_GCC" && \
+ GCCPREFIX="$gccprefix" && \
+ break 3
done
done
done