Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SMBIOS Type 44 ISA Extensions Support 字段实现存疑 #82

Open
jiegec opened this issue Dec 11, 2023 · 1 comment
Open

SMBIOS Type 44 ISA Extensions Support 字段实现存疑 #82

jiegec opened this issue Dec 11, 2023 · 1 comment

Comments

@jiegec
Copy link

jiegec commented Dec 11, 2023

SMBIOS Type 44 在 3.3 LoongArch Processor-specific Block Structure 中定义 ISA Extensions Support 字段:

  • Offset: 24h
  • Description: The bit field [3:0] indicates support for the existing LoongArch standard ISA extensions. It is modeled after the LoongArch EUEN register (CSR 0x2), and meaning of each bit is the same as defined for the EUEN register.
    Setting a bit in this field indicates that this system supports the corresponding ISA extension.

从 3C5000 导出的数据:

Handle 0x0015, DMI type 44, 48 bytes
Unknown Type
        Header and Data:
                2C 30 15 00 01 00 28 0A 00 01 28 00 4C 6F 6F 6E
                67 73 6F 6E 00 00 00 00 00 00 00 00 33 43 35 30
                30 30 00 00 00 00 00 00 00 00 00 00 C7 CF 7C 00
        Strings:
                ptal....X

ISA Extensions Support 字段的值为 0x007CCFC7。

从 3A6000 导出的数据:

Handle 0x001C, DMI type 44, 48 bytes
Unknown Type
        Header and Data:
                2C 30 1C 00 01 00 28 0A 00 01 28 00 4C 6F 6F 6E
                67 73 6F 6E 00 00 00 00 00 00 00 00 33 41 36 30
                30 30 2D 48 56 00 00 00 00 00 00 00 C7 CC 7C 7E
        Strings:
                ptal....X

ISA Extensions Support 字段的值为 0x7E7CCCC7。

按照标准,最低四位记录了是否支持扩展:FP,LSX,LASX,LBT。但是问题来了:

  1. 上面的两个例子里,最低四位都等于 0x7,表示支持 FP、LSX 和 LASX,不支持 LBT,和实际不符合
  2. 其余的位数代表什么含义?没有看到定义。

背景:loongson-community/discussions#28

@jiegec
Copy link
Author

jiegec commented Dec 11, 2023

发现 ISA Extensions Support 字段的值被填成了 CPUCFG[1]:

  • 3A6000:0x7e7cccc7
  • 3C5000:0x007ccfc7

和前面的内容是一致的。那么还是上面的问题,是固件实现错了,还是 SMBIOS 定义过时了?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant