The ".arch_extension sec" directive is only available on ARMv6 or higher, so if we enable the SCM driver while building a kernel for an older CPU, we get a build error: /tmp/ccUyhMOY.s:130: Error: selected processor does not support ARM mode `smc #0' /tmp/ccUyhMOY.s:216: Error: selected processor does not support ARM mode `smc #0' /tmp/ccUyhMOY.s:373: Error: selected processor does not support ARM mode `smc #0' make[4]: *** [drivers/firmware/qcom_scm-32.o] Error 1 This changes the Makefile so we pass the ARMv7 architecture level both for the check and for the actual compilation of the scm driver. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andy Gross <agross@codeaurora.org>
24 lines
810 B
Makefile
24 lines
810 B
Makefile
#
|
|
# Makefile for the linux kernel.
|
|
#
|
|
obj-$(CONFIG_ARM_PSCI_FW) += psci.o
|
|
obj-$(CONFIG_DMI) += dmi_scan.o
|
|
obj-$(CONFIG_DMI_SYSFS) += dmi-sysfs.o
|
|
obj-$(CONFIG_EDD) += edd.o
|
|
obj-$(CONFIG_EFI_PCDP) += pcdp.o
|
|
obj-$(CONFIG_DELL_RBU) += dell_rbu.o
|
|
obj-$(CONFIG_DCDBAS) += dcdbas.o
|
|
obj-$(CONFIG_DMIID) += dmi-id.o
|
|
obj-$(CONFIG_ISCSI_IBFT_FIND) += iscsi_ibft_find.o
|
|
obj-$(CONFIG_ISCSI_IBFT) += iscsi_ibft.o
|
|
obj-$(CONFIG_FIRMWARE_MEMMAP) += memmap.o
|
|
obj-$(CONFIG_QCOM_SCM) += qcom_scm.o
|
|
obj-$(CONFIG_QCOM_SCM_64) += qcom_scm-64.o
|
|
obj-$(CONFIG_QCOM_SCM_32) += qcom_scm-32.o
|
|
CFLAGS_qcom_scm-32.o :=$(call as-instr,.arch armv7-a\n.arch_extension sec,-DREQUIRES_SEC=1) -march=armv7-a
|
|
|
|
obj-y += broadcom/
|
|
obj-$(CONFIG_GOOGLE_FIRMWARE) += google/
|
|
obj-$(CONFIG_EFI) += efi/
|
|
obj-$(CONFIG_UEFI_CPER) += efi/
|