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@chromium.org> Original-Commit-Id: f52ee4b5b2e9b7f54eee0d105cb7e17f9a7e1613 Original-Change-Id: I432895560f468903c7beef00e78b6d38275a619c Original-Signed-off-by: Furquan Shaikh <furquan@google.com> Original-Reviewed-on: https://chromium-review.googlesource.com/272449 Original-Trybot-Ready: Furquan Shaikh <furquan@chromium.org> Original-Tested-by: Furquan Shaikh <furquan@chromium.org> Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Original-Commit-Queue: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/10311 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
623368113c
commit
35531197d4
|
@ -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 base_addr = (uintptr_t)start;
|
||||||
uint64_t temp_size = size;
|
uint64_t temp_size = size;
|
||||||
|
|
||||||
|
if (!IS_ENABLED(CONFIG_SMP)) {
|
||||||
printk(BIOS_INFO, "Mapping address range [%p:%p) as ",
|
printk(BIOS_INFO, "Mapping address range [%p:%p) as ",
|
||||||
start, start + size);
|
start, start + size);
|
||||||
print_tag(BIOS_INFO, tag);
|
print_tag(BIOS_INFO, tag);
|
||||||
|
}
|
||||||
|
|
||||||
sanity_check(base_addr, temp_size);
|
sanity_check(base_addr, temp_size);
|
||||||
|
|
||||||
while (temp_size)
|
while (temp_size)
|
||||||
|
|
Loading…
Reference in New Issue