Lines Matching refs:ext

414 static void riscv_isa_set_ext(const struct riscv_isa_ext_data *ext, unsigned long *bitmap)  in riscv_isa_set_ext()  argument
416 if (ext->id != RISCV_ISA_EXT_INVALID) in riscv_isa_set_ext()
417 set_bit(ext->id, bitmap); in riscv_isa_set_ext()
419 for (int i = 0; i < ext->subset_ext_size; i++) { in riscv_isa_set_ext()
420 if (ext->subset_ext_ids[i] != RISCV_ISA_EXT_INVALID) in riscv_isa_set_ext()
421 set_bit(ext->subset_ext_ids[i], bitmap); in riscv_isa_set_ext()
447 const struct riscv_isa_ext_data *ext; in riscv_resolve_isa() local
460 ext = riscv_get_isa_ext_data(bit); in riscv_resolve_isa()
462 if (ext && ext->validate) { in riscv_resolve_isa()
463 ret = ext->validate(ext, resolved_isa); in riscv_resolve_isa()
488 const struct riscv_isa_ext_data *ext = &riscv_isa_ext[i]; in match_isa_ext() local
490 if ((name_end - name == strlen(ext->name)) && in match_isa_ext()
491 !strncasecmp(name, ext->name, name_end - name)) { in match_isa_ext()
492 riscv_isa_set_ext(ext, bitmap); in match_isa_ext()
509 const char *ext = isa++; in riscv_parse_isa_string() local
513 switch (*ext) { in riscv_parse_isa_string()
537 if (ext[-1] != '_' && ext[1] == 'u') { in riscv_parse_isa_string()
607 if (unlikely(!isalpha(*ext))) { in riscv_parse_isa_string()
644 match_isa_ext(ext, ext_end, bitmap); in riscv_parse_isa_string()
752 const struct riscv_isa_ext_data ext = ext_list->ext_data[j]; in riscv_fill_cpu_vendor_ext() local
756 ext.property) < 0) in riscv_fill_cpu_vendor_ext()
763 if (ext.subset_ext_size) in riscv_fill_cpu_vendor_ext()
764 for (int k = 0; k < ext.subset_ext_size; k++) in riscv_fill_cpu_vendor_ext()
765 set_bit(ext.subset_ext_ids[k], isavendorinfo->isa); in riscv_fill_cpu_vendor_ext()
767 set_bit(ext.id, isavendorinfo->isa); in riscv_fill_cpu_vendor_ext()
861 const struct riscv_isa_ext_data *ext = &riscv_isa_ext[i]; in riscv_fill_hwcap_from_ext_list() local
864 ext->property) < 0) in riscv_fill_hwcap_from_ext_list()
867 riscv_isa_set_ext(ext, source_isa); in riscv_fill_hwcap_from_ext_list()