[coreboot-gerrit] Patch set updated for coreboot: feff556 arm64: Guard prints in mmu.c

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Mon Jun 1 10:56:08 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10311

-gerrit

commit feff556ac0cd07a8c3ebe8ad99521f238c663bda
Author: Furquan Shaikh <furquan at google.com>
Date:   Wed May 20 17:10:55 2015 -0700

    arm64: Guard prints in mmu.c
    
    We have observed issues with enabling CONFIG_SMP and adding prints
    before MMU is enabled on Tegra-based SoCs. This seems to be  related
    to the hardware assisted locks and the restrictions laid down by ARMv8
    spec.
    
    BUG=None
    BRANCH=None
    TEST=Boots to kernel prompt on smaug.
    
    Change-Id: I29a52f5a972baf396c01faba3ae3e5ecd27563e9
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: f52ee4b5b2e9b7f54eee0d105cb7e17f9a7e1613
    Original-Change-Id: I432895560f468903c7beef00e78b6d38275a619c
    Original-Signed-off-by: Furquan Shaikh <furquan at google.com>
    Original-Reviewed-on: https://chromium-review.googlesource.com/272449
    Original-Trybot-Ready: Furquan Shaikh <furquan at chromium.org>
    Original-Tested-by: Furquan Shaikh <furquan at chromium.org>
    Original-Reviewed-by: Furquan Shaikh <furquan at chromium.org>
    Original-Commit-Queue: Furquan Shaikh <furquan at chromium.org>
---
 src/arch/arm64/armv8/mmu.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/arch/arm64/armv8/mmu.c b/src/arch/arm64/armv8/mmu.c
index 0bd678a..e16ee71 100644
--- a/src/arch/arm64/armv8/mmu.c
+++ b/src/arch/arm64/armv8/mmu.c
@@ -220,9 +220,12 @@ void mmu_config_range(void *start, size_t size, uint64_t tag)
 	uint64_t base_addr = (uintptr_t)start;
 	uint64_t temp_size = size;
 
-	printk(BIOS_INFO, "Mapping address range [%p:%p) as ",
-	       start, start + size);
-	print_tag(BIOS_INFO, tag);
+	if (!IS_ENABLED(CONFIG_SMP)) {
+		printk(BIOS_INFO, "Mapping address range [%p:%p) as ",
+		       start, start + size);
+		print_tag(BIOS_INFO, tag);
+	}
+
 	sanity_check(base_addr, temp_size);
 
 	while (temp_size)



More information about the coreboot-gerrit mailing list