• Palmer Dabbelt's avatar
    Merge patch series "riscv: allow case-insensitive ISA string parsing" · 748462b5
    Palmer Dabbelt authored
    Yangyu Chen <cyy@cyyself.name> says:
    
    This patchset allows case-insensitive ISA string parsing, which is
    needed in the ACPI environment. As the RISC-V Hart Capabilities Table
    (RHCT) description in UEFI Forum ECR[1] shows the format of the ISA
    string is defined in the RISC-V unprivileged specification[2]. However,
    the RISC-V unprivileged specification defines the ISA naming strings are
    case-insensitive while the current ISA string parser in the kernel only
    accepts lowercase letters. In this case, the kernel should allow
    case-insensitive ISA string parsing. Moreover, this reason has been
    discussed in Conor's patch[3]. And I have also checked the current ISA
    string parsing in the recent ACPI support patch[4] will also call
    `riscv_fill_hwcap` function as DT we use now.
    
    The original motivation for my patch v1[5] is that some SoC generators
    will provide generated DT with illegal ISA string in dt-binding such as
    rocket-chip, which will even cause kernel panic in some cases as I
    mentioned in v1[5]. Now, the rocket-chip has been fixed in PR #3333[6].
    However, when using some specific version of rocket-chip with
    illegal ISA string in DT, this patchset will also work for parsing
    uppercase letters correctly in DT, thus will have better compatibility.
    
    In summary, this patch not only works for case-insensitive ISA string
    parsing to meet the requirements in ECR[1] but also can be a workaround
    for some specific versions of rocket-chip.
    
    * b4-shazam-merge:
      dt-bindings: riscv: drop invalid comment about riscv,isa lower-case reasoning
      riscv: allow case-insensitive ISA string parsing
    
    Link: https://lore.kernel.org/r/tencent_E6911C8D71F5624E432A1AFDF86804C3B509@qq.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
    748462b5
cpufeature.c 10 KB