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 写到: 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@linux ~]$ 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@linux 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.
Re: [PATCH v2 3/4 RESEND] MIPS: Loongson64: Add /proc/boardinfo
于 2020年10月12日 GMT+08:00 下午8:02:25, Tiezhu Yang 写到: >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@linux ~]$ 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@linux 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. Thanks. - Jiaxun > >Thanks, >Tiezhu > >> >> Thomas. >>
Re: [PATCH v2 3/4 RESEND] MIPS: Loongson64: Add /proc/boardinfo
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@linux ~]$ 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@linux 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]; }; Thanks, Tiezhu Thomas.
Re: [PATCH v2 3/4 RESEND] MIPS: Loongson64: Add /proc/boardinfo
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@linux ~]$ 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 ? Thomas. -- Crap can work. Given enough thrust pigs will fly, but it's not necessarily a good idea.[ RFC1925, 2.3 ]