OpenCloudOS-Kernel/drivers/firmware
Ard Biesheuvel bb817bef3b efi/arm: Enable DMI/SMBIOS
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: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Russell 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: Ingo Molnar <mingo@kernel.org>
2017-06-05 17:50:44 +02:00
..
broadcom tree-wide: replace config_enabled() with IS_ENABLED() 2016-08-04 08:50:07 -04:00
efi efi/arm: Enable DMI/SMBIOS 2017-06-05 17:50:44 +02:00
google firmware: Google VPD: Fix memory allocation error handling 2017-05-18 17:01:46 +02:00
meson firmware: meson-sm: Allow 0 as valid return value 2017-03-23 12:22:40 -07:00
tegra sched/headers: Prepare for new header dependencies before moving code to <linux/sched/clock.h> 2017-03-02 08:42:27 +01:00
Kconfig firmware: arm_scpi: Add hardware dependencies 2017-01-30 21:09:43 -08:00
Makefile Merge branch 'for-4.10-ti-sci-base' of https://github.com/t-kristo/linux-pm into next/drivers 2016-11-30 17:13:13 +01:00
arm_scpi.c firmware: arm_scpi: reinit completion instead of full init_completion() 2017-03-31 11:00:23 +01:00
dcdbas.c dcdbas: Make use of smp_call_on_cpu() 2016-09-05 13:52:40 +02:00
dcdbas.h
dell_rbu.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
dmi-id.c firmware: dmi: Add DMI_PRODUCT_FAMILY identification string 2017-05-23 10:04:41 +02:00
dmi-sysfs.c firmware: dmi_scan: add SBMIOS entry and DMI tables 2015-06-25 09:06:56 +02:00
dmi_scan.c firmware: dmi: Add DMI_PRODUCT_FAMILY identification string 2017-05-23 10:04:41 +02:00
edd.c [SCSI] edd: Treat "XPRS" host bus type the same as "PCI" 2011-10-31 13:26:19 +04:00
iscsi_ibft.c ibft: Expose iBFT acpi header via sysfs 2016-05-16 11:14:29 -04:00
iscsi_ibft_find.c efi: Make 'efi_enabled' a function to query EFI facilities 2013-01-30 11:51:59 -08:00
memmap.c drivers/firmware/memmap.c: fix kernel-doc format 2015-06-25 17:00:41 -07:00
pcdp.c serial: 8250_early: Remove setup_early_serial8250_console() 2015-03-26 17:25:27 +01:00
pcdp.h Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
psci.c drivers: firmware: psci: Use __pa_symbol for cpu_resume 2017-01-26 12:15:07 +00:00
psci_checker.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
qcom_scm-32.c firmware: qcom_scm: add two scm calls for iommu secure page table 2017-03-28 16:03:21 -05:00
qcom_scm-64.c firmware: qcom_scm: add two scm calls for iommu secure page table 2017-03-28 16:03:21 -05:00
qcom_scm.c firmware: qcom_scm: add two scm calls for iommu secure page table 2017-03-28 16:03:21 -05:00
qcom_scm.h firmware: qcom_scm: add two scm calls for iommu secure page table 2017-03-28 16:03:21 -05:00
qemu_fw_cfg.c driver core update for 4.7-rc1 2016-05-20 21:26:15 -07:00
raspberrypi.c ARM: bcm2835: Add the Raspberry Pi firmware driver 2015-10-14 15:30:06 -07:00
scpi_pm_domain.c firmware: scpi: add device power domain support using genpd 2016-06-21 10:26:51 +01:00
ti_sci.c firmware: ti_sci: fix strncat length check 2017-05-19 10:31:36 +02:00
ti_sci.h firmware: ti_sci: Add support for reboot core service 2016-10-27 12:09:12 +03:00