1 ## SPDX-License-Identifier: GPL-2.0-only
3 ifeq ($(CONFIG_ARCH_ARMV8_EXTENSION
),0)
6 march
= armv8.
$(CONFIG_ARCH_ARMV8_EXTENSION
)-a
9 armv8_flags
= -march
=$(march
) -I
$(src
)/arch
/arm64
/include/armv8
/ -D__COREBOOT_ARM_ARCH__
=8
11 ################################################################################
13 ################################################################################
14 ifeq ($(CONFIG_ARCH_BOOTBLOCK_ARMV8_64
),y
)
16 ifneq ($(CONFIG_BOOTBLOCK_CUSTOM
),y
)
17 decompressor-y
+= bootblock.S
18 ifneq ($(CONFIG_COMPRESS_BOOTBLOCK
),y
)
19 bootblock-y
+= bootblock.S
22 decompressor-y
+= cpu.S
24 decompressor-y
+= cache.c
25 bootblock-y
+= cache.c
26 decompressor-y
+= mmu.c
29 bootblock-
$(CONFIG_BOOTBLOCK_CONSOLE
) += exception.c
31 decompressor-generic-ccopts
+= $(armv8_flags
)
32 bootblock-generic-ccopts
+= $(armv8_flags
)
34 # Required to access unaligned timestamp struct members before MMU is active
35 # (TODO: Maybe use explicit unaligned accesses in timestamp code instead, or
36 # evaluate redesigning timestamp data structures to avoid misaligned members.)
37 decompressor-c-ccopts
+= -mstrict-align
38 bootblock-c-ccopts
+= -mstrict-align
42 ################################################################################
44 ################################################################################
45 ifeq ($(CONFIG_ARCH_VERSTAGE_ARMV8_64
),y
)
49 verstage-y
+= exception.c
51 verstage-generic-ccopts
+= $(armv8_flags
)
55 ################################################################################
57 ################################################################################
58 ifeq ($(CONFIG_ARCH_ROMSTAGE_ARMV8_64
),y
)
62 romstage-y
+= exception.c
65 romstage-generic-ccopts
+= $(armv8_flags
)
67 rmodules_arm64-generic-ccopts
+= $(armv8_flags
)
71 ################################################################################
73 ################################################################################
74 ifeq ($(CONFIG_ARCH_RAMSTAGE_ARMV8_64
),y
)
78 ramstage-y
+= exception.c
81 ramstage-generic-ccopts
+= $(armv8_flags
)
83 rmodules_arm64-generic-ccopts
+= $(armv8_flags
)