[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f1a4ef4a-a293-5b07-3436-37835e92ca1e@loongson.cn>
Date: Tue, 13 Oct 2020 12:36:54 +0800
From: Tiezhu Yang <yangtiezhu@...ngson.cn>
To: Jiaxun Yang <jiaxun.yang@...goat.com>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>
Cc: Jonathan Corbet <corbet@....net>, Huacai Chen <chenhc@...ote.com>,
linux-mips@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org, Xuefeng Li <lixuefeng@...ngson.cn>
Subject: Re: [PATCH v2 3/4 RESEND] MIPS: Loongson64: Add /proc/boardinfo
On 10/13/2020 08:15 AM, Jiaxun Yang wrote:
>
> 于 2020年10月12日 GMT+08:00 下午8:02:25, Tiezhu Yang <yangtiezhu@...ngson.cn> 写到:
>> On 10/12/2020 06:38 PM, Thomas Bogendoerfer wrote:
>>> On Sun, Oct 11, 2020 at 07:47:53AM +0800, Tiezhu Yang wrote:
>>>> Add /proc/boardinfo to get mainboard and BIOS info easily on the Loongson
>>>> platform, this is useful to point out the current used mainboard type and
>>>> BIOS version when there exists problems related with hardware or firmware.
>>>>
>>>> E.g. with this patch:
>>>>
>>>> [loongson@...ux ~]$ cat /proc/boardinfo
>>>> Board Info
>>>> Manufacturer : LEMOTE
>>>> Board Name : LEMOTE-LS3A4000-7A1000-1w-V01-pc
>>>> Family : LOONGSON3
>>>>
>>>> BIOS Info
>>>> Vendor : Kunlun
>>>> Version : Kunlun-A1901-V4.1.3-20200414093938
>>>> ROM Size : 4 KB
>>>> Release Date : 2020-04-14
>>> Why does Loongson64 need this extra file no other architecture or MIPS
>>> platform need ? Do others provide this information via a different method ?
>>> If yes, why can't Loongson64 do the same ?
>> Hi Thomas,
>>
>> This is related with the implementation of firmware.
>>
>> Using dmidecode command can get the similar info if there exists SMBIOS
>> in firmware, but the fact is there is no SMBIOS on some machines, we can
>> see nothing when execute dmidecode, like this:
>>
>> [root@...ux loongson]# dmidecode
>> # dmidecode 2.12
>> # No SMBIOS nor DMI entry point found, sorry.
>>
>> The following three structures are already defined in the interface
>> specification about firmware and kernel on the Loongson platform,
>> this is common requirement and specific for Loongson64, so add a
>> new boardinfo.c file in arch/mips/loongson64.
>>
>> arch/mips/include/asm/mach-loongson64/boot_param.h
>> struct interface_info {
>> u16 vers; /* version of the specificition */
>> u16 size;
>> u8 flag;
>> char description[64];
>> } __packed;
>>
>> struct board_devices {
>> char name[64]; /* hold the device name */
>> u32 num_resources; /* number of device_resource */
>> /* for each device's resource */
>> struct resource_loongson resource[MAX_RESOURCE_NUMBER];
>> /* arch specific additions */
>> struct archdev_data archdata;
>> };
>>
>> struct loongson_special_attribute {
>> u16 vers; /* version of this special */
>> char special_name[64]; /* special_atribute_name */
>> u32 loongson_special_type; /* type of special device */
>> /* for each device's resource */
>> struct resource_loongson resource[MAX_RESOURCE_NUMBER];
>> };
> Hi Tiezhu,
>
> Through I don't think touching top level of proc would be a good idea. It's all about API consistency.
>
> If you intend to provide user an interface then I guess /sys/firmware/lefi
> like what DMI did or somewhere less critical is better.
>
> There is no guarantee that Loongson64 device would come with LEFI,
> although it's mandatory for now.
Hi Jiaxun,
Thank you very much.
Let us add /sys/firmware/lefi/boardinfo, I will do it and then send a
new patch.
Thanks,
Tiezhu
>
> Thanks.
>
> - Jiaxun
>
>> Thanks,
>> Tiezhu
>>
>>> Thomas.
>>>
Powered by blists - more mailing lists