[PATCH 2/3] ARM64:DMI: Add smbios/dmi support on arm64
Grant Likely
grant.likely at linaro.org
Wed Nov 27 09:26:02 EST 2013
On Wed, Nov 27, 2013 at 2:24 PM, Grant Likely <grant.likely at linaro.org> wrote:
> On Tue, 26 Nov 2013 00:44:25 +0800, Yi Li <yi.li at linaro.org> wrote:
>> Add smbios/dmi support on arm64 system, it depends on
>> EFI boot.
>>
>> Signed-off-by: Yi Li <yi.li at linaro.org>
>> ---
>>
>> efi_lookup_mapped_addr() isn't able to translate the address range
>> which is reported as reserved type from UEFI. Following the UEFI
>> spec 2.4, it descripts the SMBIOS data should be runtime service
>> type. So it depends on a UEFI patch to convert reserved type to
>> runtime service type for SMBIOS and a linux dmi driver patch that
>> has been posted for review to x86 and ia64.
>>
>> arch/arm64/Kconfig | 10 ++++++++++
>> arch/arm64/include/asm/dmi.h | 28 ++++++++++++++++++++++++++++
>> arch/arm64/kernel/setup.c | 2 ++
>> 3 files changed, 40 insertions(+)
>> create mode 100644 arch/arm64/include/asm/dmi.h
>>
>> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
>> index d5aaddf..84204b0 100644
>> --- a/arch/arm64/Kconfig
>> +++ b/arch/arm64/Kconfig
>> @@ -292,6 +292,16 @@ config EFI_STUB
>> by EFI firmware without the use of a bootloader.
>> See Documentation/efi-stub.txt for more information.
>>
>> +config DMI
>> + bool "Enable support for SMBIOS (DMI) tables"
>> + depends on EFI
>> + default y
>> + help
>> + This enables SMBIOS/DMI feature for systems.
>> +
>> + This option is only useful on systems that have UEFI firmware.
>> + However, even with this option, the resultant kernel should
>> + continue to boot on existing non-UEFI platforms.
>> endmenu
>>
>> menu "Userspace binary formats"
>> diff --git a/arch/arm64/include/asm/dmi.h b/arch/arm64/include/asm/dmi.h
>> new file mode 100644
>> index 0000000..f6e6004
>> --- /dev/null
>> +++ b/arch/arm64/include/asm/dmi.h
>> @@ -0,0 +1,28 @@
>> +/*
>> + * arch/arm64/include/asm/dmi.h
>> + *
>> + * Copyright (C) 2013 Linaro Limited.
>> + * Written by: Yi Li (yi.li at linaro.org)
>> + *
>> + * based on arch/ia64/include/asm/dmi.h
>> + *
>> + * This file is subject to the terms and conditions of the GNU General Public
>> + * License. See the file "COPYING" in the main directory of this archive
>> + * for more details.
>> + */
>> +
>> +
>> +#ifndef _ASM_DMI_H
>> +#define _ASM_DMI_H 1
>> +
>> +#include <linux/slab.h>
>> +#include <asm/io.h>
>> +
>> +/* Use normal IO mappings for DMI */
>> +#define dmi_early_remap(x, l) efi_lookup_mapped_addr(x)
>> +#define dmi_early_unmap(x, l)
>> +#define dmi_remap(x, l) efi_lookup_mapped_addr(x)
>> +#define dmi_unmap(x)
>> +#define dmi_alloc(l) kzalloc(l, GFP_ATOMIC)
>> +
>> +#endif
>> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
>> index 1aeaaf5..1480843 100644
>> --- a/arch/arm64/kernel/setup.c
>> +++ b/arch/arm64/kernel/setup.c
>> @@ -45,6 +45,7 @@
>> #ifdef CONFIG_ACPI
>> #include <linux/acpi.h>
>> #endif
>> +#include <linux/dmi.h>
>>
>> #include <asm/fixmap.h>
>> #include <asm/cputype.h>
>
> Nitpick: You dropped a blank line in this hunk. I suspect that was
> unintentional, but it looks sloppy.
Oops, nevermind. You haven't made a mistake here. My mailer did
something silly and it looked like there was a '-' tag on the blank
line.
Sorry for the noise.
g.
>
> Otherwise:
>
> Acked-by: Grant Likely <grant.likely at linaro.org>
>
>> @@ -312,6 +313,7 @@ static int __init arm64_device_init(void)
>> {
>> of_clk_init(NULL);
>> of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
>> + dmi_scan_machine();
>> return 0;
>> }
>> arch_initcall(arm64_device_init);
>> --
>> 1.7.9.5
>>
>
More information about the linux-arm-kernel
mailing list