• Ard Biesheuvel's avatar
    efi/arm: Enable DMI/SMBIOS · bb817bef
    Ard Biesheuvel authored
    Wire up the existing arm64 support for SMBIOS tables (aka DMI) for ARM as
    well, by moving the arm64 init code to drivers/firmware/efi/arm-runtime.c
    (which is shared between ARM and arm64), and adding a asm/dmi.h header to
    ARM that defines the mapping routines for the firmware tables.
    This allows userspace to access these tables to discover system information
    exposed by the firmware. It also sets the hardware name used in crash
    dumps, e.g.:
      Unable to handle kernel NULL pointer dereference at virtual address 00000000
      pgd = ed3c0000
      [00000000] *pgd=bf1f3835
      Internal error: Oops: 817 [#1] SMP THUMB2
      Modules linked in:
      CPU: 0 PID: 759 Comm: bash Not tainted 4.10.0-09601-g0e8f38792120-dirty #112
      Hardware name: QEMU KVM Virtual Machine, BIOS 0.0.0 02/06/2015
    NOTE: This does *NOT* enable or encourage the use of DMI quirks, i.e., the
          the practice of identifying the platform via DMI to decide whether
          certain workarounds for buggy hardware and/or firmware need to be
          enabled. This would require the DMI subsystem to be enabled much
          earlier than we do on ARM, which is non-trivial.
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Acked-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Matt Fleming <matt@codeblueprint.co.uk>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-efi@vger.kernel.org
    Link: http://lkml.kernel.org/r/20170602135207.21708-14-ard.biesheuvel@linaro.org
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>