summaryrefslogtreecommitdiff
path: root/src/arch/arm64/armv8
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm64/armv8')
-rw-r--r--src/arch/arm64/armv8/Makefile.inc9
-rw-r--r--src/arch/arm64/armv8/bootblock_simple.c60
2 files changed, 5 insertions, 64 deletions
diff --git a/src/arch/arm64/armv8/Makefile.inc b/src/arch/arm64/armv8/Makefile.inc
index 357159d6a7..359a368ab9 100644
--- a/src/arch/arm64/armv8/Makefile.inc
+++ b/src/arch/arm64/armv8/Makefile.inc
@@ -26,10 +26,6 @@ armv8_asm_flags = $(armv8_flags)
################################################################################
ifeq ($(CONFIG_ARCH_BOOTBLOCK_ARMV8_64),y)
-ifneq ($(CONFIG_ARM64_BOOTBLOCK_CUSTOM),y)
-bootblock-y += bootblock.S
-bootblock-y += bootblock_simple.c
-endif
bootblock-y += cache.c
bootblock-y += cache_helpers.S
bootblock-y += cpu.S
@@ -38,6 +34,11 @@ bootblock-$(CONFIG_BOOTBLOCK_CONSOLE) += exception.c
bootblock-c-ccopts += $(armv8_flags)
bootblock-S-ccopts += $(armv8_asm_flags)
+# Required to access unaligned timestamp struct members before MMU is active
+# (TODO: Maybe use explicit unaligned accesses in timestamp code instead, or
+# evaluate redesigning timestamp data structures to avoid misaligned members.)
+bootblock-c-ccopts += -mstrict-align
+
endif
################################################################################
diff --git a/src/arch/arm64/armv8/bootblock_simple.c b/src/arch/arm64/armv8/bootblock_simple.c
deleted file mode 100644
index e2002f2a3a..0000000000
--- a/src/arch/arm64/armv8/bootblock_simple.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright 2014 Google Inc.
- *
- * 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; version 2 of
- * the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#include <bootblock_common.h>
-#include <arch/cache.h>
-#include <arch/stages.h>
-#include <arch/exception.h>
-#include <cbfs.h>
-#include <console/console.h>
-#include <program_loading.h>
-
-static int boot_cpu(void)
-{
- /*
- * FIXME: This is a stub for now. All non-boot CPUs should be
- * waiting for an interrupt. We could move the chunk of assembly
- * which puts them to sleep in here...
- */
- return 1;
-}
-
-void main(void)
-{
- /* Globally disable MMU, caches, and branch prediction (these should
- * be disabled by default on reset) */
- mmu_disable();
-
- /*
- * Re-enable icache and branch prediction. MMU and dcache will be
- * set up later.
- *
- * Note: If booting from USB, we need to disable branch prediction
- * before copying from USB into RAM (FIXME: why?)
- */
-
- if (boot_cpu()) {
- //bootblock_cpu_init();
- //bootblock_mainboard_init();
- }
-
-#if IS_ENABLED(CONFIG_BOOTBLOCK_CONSOLE)
- console_init();
- exception_init();
-#endif
-
- run_romstage();
-}