Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10700
-gerrit
commit 0e3320586eb35859e3b44971194be71b315e95b5
Author: Patrick Georgi <pgeorgi(a)chromium.org>
Date: Mon Jun 29 22:13:53 2015 +0200
arch/arm64: Avoid race condition when building bl31
The arm-trusted-firmware build system may not create the final bl31.elf file
atomically, confusing our make to try to use it before it's ready.
Hence insert a (hopefully, but not guaranteed to be atomic) file move.
Change-Id: Iffc80467e0f4bbc96fc62414d4abfaa7b42634f4
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
---
src/arch/arm64/Makefile.inc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/arch/arm64/Makefile.inc b/src/arch/arm64/Makefile.inc
index 86d6f7d..4cf012a 100644
--- a/src/arch/arm64/Makefile.inc
+++ b/src/arch/arm64/Makefile.inc
@@ -195,12 +195,12 @@ BL31_MAKEARGS += DEBUG=1
endif # CONFIG_CONSOLE_SERIAL
# Avoid build/release|build/debug distinction by overriding BUILD_PLAT directly
-BL31_MAKEARGS += BUILD_PLAT="$(top)/$(obj)/3rdparty/arm-trusted-firmware"
+BL31_MAKEARGS += BUILD_PLAT="$(abspath $(obj)/3rdparty/arm-trusted-firmware)"
BL31_CFLAGS := -fno-pic -fno-stack-protector
BL31_LDFLAGS := --emit-relocs
-BL31 := $(obj)/3rdparty/arm-trusted-firmware/bl31/bl31.elf
+BL31 := $(obj)/bl31.elf
$(BL31):
@printf " MAKE $(subst $(obj)/,,$(@))\n"
@@ -208,6 +208,7 @@ $(BL31):
CFLAGS="$(BL31_CFLAGS)" \
LDFLAGS="$(BL31_LDFLAGS)" \
$(MAKE) -C $(BL31_SOURCE) $(BL31_MAKEARGS) bl31
+ mv $(obj)/3rdparty/arm-trusted-firmware/bl31/bl31.elf $@
.PHONY: $(BL31)
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10698
-gerrit
commit 9e3c80c8b1c7fceb78411f7346ab40ae2fa903f0
Author: Duncan Laurie <dlaurie(a)chromium.org>
Date: Thu Jun 4 08:42:48 2015 -0700
hardwaremain: Move init_timer() call to before console init
The 8250 MMIO uart driver calls udelay, and if that is the first
call then it will also call printk in init_timer() which can result
in a deadlock trying to acquire the console lock.
There are a few options to prevent this:
1) remove the printk in init_timer which removes a useful debug message
2) change the udelay() to cpu_relax() in uart8250mem.c
3- move the init_timer() call in ramstage main() to be called earlier
Since hardwaremain.c:main() already has an explicit call to init_timer()
on x86 it is an easy change to move this to happen before the console
is initialized.
BUG=chrome-os-partner:40857
BRANCH=none
TEST=boot on glados with serial output through ramstage
Change-Id: I8a8d8cccdd0b53de9de44600076bfad75e4f5514
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 744610f72628a944582925933b286f65bde630d9
Original-Change-Id: Ic1fdafaea5541c6d7b1bb6f15399c759f484aa74
Original-Signed-off-by: Duncan Laurie <dlaurie(a)chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/275157
Original-Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/lib/hardwaremain.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/lib/hardwaremain.c b/src/lib/hardwaremain.c
index 56f3f29..b3c0c35 100644
--- a/src/lib/hardwaremain.c
+++ b/src/lib/hardwaremain.c
@@ -432,6 +432,11 @@ static void boot_state_schedule_static_entries(void)
void main(void)
{
+ /* TODO: Understand why this is here and move to arch/platform code. */
+ /* For MMIO UART this needs to be called before any other printk. */
+ if (IS_ENABLED(CONFIG_ARCH_X86))
+ init_timer();
+
/* console_init() MUST PRECEDE ALL printk()! Additionally, ensure
* it is the very first thing done in ramstage.*/
console_init();
@@ -463,10 +468,6 @@ void main(void)
/* Schedule the static boot state entries. */
boot_state_schedule_static_entries();
- /* TODO: Understand why this is here and move to arch/platform code. */
- if (IS_ENABLED(CONFIG_ARCH_X86))
- init_timer();
-
bs_walk_state_machine();
die("Boot state machine failure.\n");
the following patch was just integrated into master:
commit 619781493a5dcd0ec027c6fe09d26b7cd49a907f
Author: Jonathan A. Kollasch <jakllsch(a)kollasch.net>
Date: Tue Jun 23 10:00:41 2015 -0500
mainboard/msi/ms7135: DSDT: fix PCI and AGR interrupts
Tested with interrupting AGP card in AGR slot.
PCI slots tested with 3-function OHCI/EHCI USB 2.0 card,
covering the INTA-INTC lines in each.
Change-Id: I0f8aeba90890a76a7cf9cbee9be7bcf919d1e39a
Signed-off-by: Jonathan A. Kollasch <jakllsch(a)kollasch.net>
Reviewed-on: http://review.coreboot.org/10644
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See http://review.coreboot.org/10644 for details.
-gerrit
the following patch was just integrated into master:
commit 7a75aff3fff0d7e5c54041c2430c3396307a0651
Author: Jonathan A. Kollasch <jakllsch(a)kollasch.net>
Date: Tue Jun 23 09:15:08 2015 -0500
mainboard/msi/ms7135: only #include necessary headers in acpi_tables.c
Change-Id: I0837a2d1e0d8e233f6ef7d7212ce76f2223d19b9
Signed-off-by: Jonathan A. Kollasch <jakllsch(a)kollasch.net>
Reviewed-on: http://review.coreboot.org/10641
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See http://review.coreboot.org/10641 for details.
-gerrit