linux-stable/arch/loongarch
Tiezhu Yang 45b53c9051 LoongArch: Fix wrong "ROM Size" of boardinfo
We can see the "ROM Size" is different in the following outputs:

[root@linux loongson]# cat /sys/firmware/loongson/boardinfo
BIOS Information
Vendor                  : Loongson
Version                 : vUDK2018-LoongArch-V2.0.pre-beta8
ROM Size                : 63 KB
Release Date            : 06/15/2022

Board Information
Manufacturer            : Loongson
Board Name              : Loongson-LS3A5000-7A1000-1w-A2101
Family                  : LOONGSON64

[root@linux loongson]# dmidecode | head -11
...
Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
	Vendor: Loongson
	Version: vUDK2018-LoongArch-V2.0.pre-beta8
	Release Date: 06/15/2022
	ROM Size: 4 MB

According to "BIOS Information (Type 0) structure" in the SMBIOS
Reference Specification [1], it shows 64K * (n+1) is the size of
the physical device containing the BIOS if the size is less than
16M.

Additionally, we can see the related code in dmidecode [2]:

  u64 s = { .l = (code1 + 1) << 6 };

So the output of dmidecode is correct, the output of boardinfo
is wrong, fix it.

By the way, at present no need to consider the size is 16M or
greater on LoongArch, because it is usually 4M or 8M which is
enough to use.

[1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.6.0.pdf
[2] https://git.savannah.nongnu.org/cgit/dmidecode.git/tree/dmidecode.c#n347

Fixes: 628c3bb40e ("LoongArch: Add boot and setup routines")
Reviewed-by: WANG Xuerui <git@xen0n.name>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-07-29 18:22:33 +08:00
..
boot
configs LoongArch: Add Loongson-3 default config file 2022-06-03 20:09:29 +08:00
include LoongArch: Disable executable stack by default 2022-07-29 18:22:32 +08:00
kernel LoongArch: Fix wrong "ROM Size" of boardinfo 2022-07-29 18:22:33 +08:00
lib LoongArch: Remove useless header compiler.h 2022-07-29 18:22:32 +08:00
mm LoongArch: Re-tab the assembly files 2022-07-29 18:22:32 +08:00
pci
vdso LoongArch: Fix build errors for tinyconfig 2022-07-07 17:41:01 +08:00
Kbuild
Kconfig LoongArch: Remove useless header compiler.h 2022-07-29 18:22:32 +08:00
Kconfig.debug
Makefile LoongArch: Add Loongson-3 default config file 2022-06-03 20:09:29 +08:00