• Ard Biesheuvel's avatar
    efi/x86: Convert x86 EFI earlyprintk into generic earlycon implementation · 69c1f396
    Ard Biesheuvel authored
    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: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Reviewed-by: default avatarAlexander 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.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    69c1f396
early_printk.c 9.77 KB