mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 03:11:46 +00:00
69c1f396f2
Move the x86 EFI earlyprintk implementation to a shared location under drivers/firmware and tweak it slightly so we can expose it as an earlycon implementation (which is generic) rather than earlyprintk (which is only implemented for a few architectures) This also involves switching to write-combine mappings by default (which is required on ARM since device mappings lack memory semantics, and so memcpy/memset may not be used on them), and adding support for shared memory framebuffers on cache coherent non-x86 systems (which do not tolerate mismatched attributes). Note that 32-bit ARM does not populate its struct screen_info early enough for earlycon=efifb to work, so it is disabled there. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Alexander Graf <agraf@suse.de> Cc: AKASHI Takahiro <takahiro.akashi@linaro.org> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Cc: Jeffrey Hugo <jhugo@codeaurora.org> Cc: Lee Jones <lee.jones@linaro.org> Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Matt Fleming <matt@codeblueprint.co.uk> Cc: Peter Jones <pjones@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-efi@vger.kernel.org Link: http://lkml.kernel.org/r/20190202094119.13230-10-ard.biesheuvel@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
36 lines
1.3 KiB
Makefile
36 lines
1.3 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for linux kernel
|
|
#
|
|
|
|
#
|
|
# ARM64 maps efi runtime services in userspace addresses
|
|
# which don't have KASAN shadow. So dereference of these addresses
|
|
# in efi_call_virt() will cause crash if this code instrumented.
|
|
#
|
|
KASAN_SANITIZE_runtime-wrappers.o := n
|
|
|
|
obj-$(CONFIG_ACPI_BGRT) += efi-bgrt.o
|
|
obj-$(CONFIG_EFI) += efi.o vars.o reboot.o memattr.o tpm.o
|
|
obj-$(CONFIG_EFI) += capsule.o memmap.o
|
|
obj-$(CONFIG_EFI_VARS) += efivars.o
|
|
obj-$(CONFIG_EFI_ESRT) += esrt.o
|
|
obj-$(CONFIG_EFI_VARS_PSTORE) += efi-pstore.o
|
|
obj-$(CONFIG_UEFI_CPER) += cper.o
|
|
obj-$(CONFIG_EFI_RUNTIME_MAP) += runtime-map.o
|
|
obj-$(CONFIG_EFI_RUNTIME_WRAPPERS) += runtime-wrappers.o
|
|
obj-$(CONFIG_EFI_STUB) += libstub/
|
|
obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o
|
|
obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o
|
|
obj-$(CONFIG_EFI_TEST) += test/
|
|
obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o
|
|
obj-$(CONFIG_APPLE_PROPERTIES) += apple-properties.o
|
|
|
|
arm-obj-$(CONFIG_EFI) := arm-init.o arm-runtime.o
|
|
obj-$(CONFIG_ARM) += $(arm-obj-y)
|
|
obj-$(CONFIG_ARM64) += $(arm-obj-y)
|
|
obj-$(CONFIG_EFI_CAPSULE_LOADER) += capsule-loader.o
|
|
obj-$(CONFIG_EFI_EARLYCON) += earlycon.o
|
|
obj-$(CONFIG_UEFI_CPER_ARM) += cper-arm.o
|
|
obj-$(CONFIG_UEFI_CPER_X86) += cper-x86.o
|