Re: [PATCH v2,RESEND] MIPS: Scan the DMI system information

From: Jonas Gorski
Date: Mon Feb 03 2020 - 09:46:30 EST


Hi,

On Thu, 16 Jan 2020 at 14:28, Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> wrote:
>
> Enable DMI scanning on the MIPS architecture, this setups DMI identifiers
> (dmi_system_id) for printing it out on task dumps and prepares DIMM entry
> information (dmi_memdev_info) from the SMBIOS table. With this patch, the
> driver can easily match various of mainboards.
>
> In the SMBIOS reference specification, the table anchor string "_SM_" is
> present in the address range 0xF0000 to 0xFFFFF on a 16-byte boundary,
> but there exists a special case for Loongson platform, when call function
> dmi_early_remap, it should specify the start address to 0xFFFE000 due to
> it is reserved for SMBIOS and can be normally access in the BIOS.
>
> This patch works fine on the Loongson 3A3000 platform which belongs to
> MIPS architecture and has no influence on the other architectures such
> as x86 and ARM.
>
> Co-developed-by: Yinglu Yang <yangyinglu@xxxxxxxxxxx>
> Signed-off-by: Yinglu Yang <yangyinglu@xxxxxxxxxxx>
> [jiaxun.yang@xxxxxxxxxxx: Refine definitions and Kconfig]
> Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
> Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
> Reviewed-by: Huacai Chen <chenhc@xxxxxxxxxx>
> ---
>
> v2:
> - add SMBIOS_ENTRY_POINT_SCAN_START suggested by Jean
> - refine definitions and Kconfig by Jiaxun
>
> arch/mips/Kconfig | 10 ++++++++++
> arch/mips/include/asm/dmi.h | 20 ++++++++++++++++++++
> arch/mips/kernel/setup.c | 2 ++
> drivers/firmware/dmi_scan.c | 6 +++++-
> 4 files changed, 37 insertions(+), 1 deletion(-)
> create mode 100644 arch/mips/include/asm/dmi.h
>
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 4b83507..c097f78 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -2773,6 +2773,16 @@ config HW_PERF_EVENTS
> Enable hardware performance counter support for perf events. If
> disabled, perf events will use software events only.
>
> +config DMI
> + default y if MACH_LOONGSON64
> + select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
> + bool "Enable DMI scanning"

Is this option harmless to enable for other MIPS platforms? What
happens if it is enabled on devices where PHYS_OFFSET isn't 0, so
0xF0000 is likely not backed by anything and accessing it might hang
the system?

This probably should depend on MACH_LOONGSON64.

Regards

Jonas