Lines Matching refs:ext

389 static void riscv_isa_set_ext(const struct riscv_isa_ext_data *ext, unsigned long *bitmap)  in riscv_isa_set_ext()  argument
391 if (ext->id != RISCV_ISA_EXT_INVALID) in riscv_isa_set_ext()
392 set_bit(ext->id, bitmap); in riscv_isa_set_ext()
394 for (int i = 0; i < ext->subset_ext_size; i++) { in riscv_isa_set_ext()
395 if (ext->subset_ext_ids[i] != RISCV_ISA_EXT_INVALID) in riscv_isa_set_ext()
396 set_bit(ext->subset_ext_ids[i], bitmap); in riscv_isa_set_ext()
422 const struct riscv_isa_ext_data *ext; in riscv_resolve_isa() local
435 ext = riscv_get_isa_ext_data(bit); in riscv_resolve_isa()
437 if (ext && ext->validate) { in riscv_resolve_isa()
438 ret = ext->validate(ext, resolved_isa); in riscv_resolve_isa()
463 const struct riscv_isa_ext_data *ext = &riscv_isa_ext[i]; in match_isa_ext() local
465 if ((name_end - name == strlen(ext->name)) && in match_isa_ext()
466 !strncasecmp(name, ext->name, name_end - name)) { in match_isa_ext()
467 riscv_isa_set_ext(ext, bitmap); in match_isa_ext()
484 const char *ext = isa++; in riscv_parse_isa_string() local
488 switch (*ext) { in riscv_parse_isa_string()
512 if (ext[-1] != '_' && ext[1] == 'u') { in riscv_parse_isa_string()
582 if (unlikely(!isalpha(*ext))) { in riscv_parse_isa_string()
619 match_isa_ext(ext, ext_end, bitmap); in riscv_parse_isa_string()
727 const struct riscv_isa_ext_data ext = ext_list->ext_data[j]; in riscv_fill_cpu_vendor_ext() local
731 ext.property) < 0) in riscv_fill_cpu_vendor_ext()
738 if (ext.subset_ext_size) in riscv_fill_cpu_vendor_ext()
739 for (int k = 0; k < ext.subset_ext_size; k++) in riscv_fill_cpu_vendor_ext()
740 set_bit(ext.subset_ext_ids[k], isavendorinfo->isa); in riscv_fill_cpu_vendor_ext()
742 set_bit(ext.id, isavendorinfo->isa); in riscv_fill_cpu_vendor_ext()
795 const struct riscv_isa_ext_data *ext = &riscv_isa_ext[i]; in riscv_fill_hwcap_from_ext_list() local
798 ext->property) < 0) in riscv_fill_hwcap_from_ext_list()
801 riscv_isa_set_ext(ext, source_isa); in riscv_fill_hwcap_from_ext_list()