Lines Matching defs:isa

324 					set_bit(ext->subset_ext_ids[i], isainfo->isa);
333 set_bit(ext->id, isainfo->isa);
338 unsigned long *isa2hwcap, const char *isa)
346 isa += 4;
348 while (*isa) {
349 const char *ext = isa++;
350 const char *ext_end = isa;
363 ++isa;
392 for (; *isa && *isa != '_'; ++isa)
393 if (unlikely(!isalnum(*isa)))
396 ext_end = isa;
422 * ensure that, when isa was incremented at the start of the loop,
440 if (!isdigit(*isa))
443 while (isdigit(*++isa))
446 if (tolower(*isa) != 'p')
449 if (!isdigit(*++isa)) {
450 --isa;
454 while (isdigit(*++isa))
461 * The parser expects that at the start of an iteration isa points to the
466 if (*isa == '_')
467 ++isa;
476 set_bit(nr, isainfo->isa);
488 const char *isa;
511 rc = of_property_read_string(node, "riscv,isa", &isa);
514 pr_warn("Unable to find \"riscv,isa\" devicetree entry\n");
518 rc = acpi_get_riscv_isa(rhct, cpu, &isa);
525 riscv_parse_isa_string(&this_hwcap, isainfo, isa2hwcap, isa);
530 * unconditionally where `i` is in riscv,isa on DT systems.
533 set_bit(RISCV_ISA_EXT_ZICSR, isainfo->isa);
534 set_bit(RISCV_ISA_EXT_ZIFENCEI, isainfo->isa);
535 set_bit(RISCV_ISA_EXT_ZICNTR, isainfo->isa);
536 set_bit(RISCV_ISA_EXT_ZIHPM, isainfo->isa);
550 clear_bit(RISCV_ISA_EXT_v, isainfo->isa);
554 * All "okay" hart should have same isa. Set HWCAP based on
564 bitmap_copy(riscv_isa, isainfo->isa, RISCV_ISA_EXT_MAX);
566 bitmap_and(riscv_isa, riscv_isa, isainfo->isa, RISCV_ISA_EXT_MAX);
588 if (!of_property_present(cpu_node, "riscv,isa-extensions")) {
596 if (of_property_match_string(cpu_node, "riscv,isa-extensions",
603 set_bit(ext->subset_ext_ids[j], isainfo->isa);
608 set_bit(ext->id, isainfo->isa);
619 * All "okay" harts should have same isa. Set HWCAP based on
628 bitmap_copy(riscv_isa, isainfo->isa, RISCV_ISA_EXT_MAX);
630 bitmap_and(riscv_isa, riscv_isa, isainfo->isa, RISCV_ISA_EXT_MAX);
671 pr_info("Falling back to deprecated \"riscv,isa\"\n");