Lines Matching refs:ext

547 static void riscv_isa_set_ext(const struct riscv_isa_ext_data *ext, unsigned long *bitmap)  in riscv_isa_set_ext()  argument
549 if (ext->id != RISCV_ISA_EXT_INVALID) in riscv_isa_set_ext()
550 set_bit(ext->id, bitmap); in riscv_isa_set_ext()
552 for (int i = 0; i < ext->subset_ext_size; i++) { in riscv_isa_set_ext()
553 if (ext->subset_ext_ids[i] != RISCV_ISA_EXT_INVALID) in riscv_isa_set_ext()
554 set_bit(ext->subset_ext_ids[i], bitmap); in riscv_isa_set_ext()
580 const struct riscv_isa_ext_data *ext; in riscv_resolve_isa() local
593 ext = riscv_get_isa_ext_data(bit); in riscv_resolve_isa()
595 if (ext && ext->validate) { in riscv_resolve_isa()
596 ret = ext->validate(ext, resolved_isa); in riscv_resolve_isa()
621 const struct riscv_isa_ext_data *ext = &riscv_isa_ext[i]; in match_isa_ext() local
623 if ((name_end - name == strlen(ext->name)) && in match_isa_ext()
624 !strncasecmp(name, ext->name, name_end - name)) { in match_isa_ext()
625 riscv_isa_set_ext(ext, bitmap); in match_isa_ext()
642 const char *ext = isa++; in riscv_parse_isa_string() local
646 switch (*ext) { in riscv_parse_isa_string()
670 if (ext[-1] != '_' && ext[1] == 'u') { in riscv_parse_isa_string()
740 if (unlikely(!isalpha(*ext))) { in riscv_parse_isa_string()
777 match_isa_ext(ext, ext_end, bitmap); in riscv_parse_isa_string()
885 const struct riscv_isa_ext_data ext = ext_list->ext_data[j]; in riscv_fill_cpu_vendor_ext() local
889 ext.property) < 0) in riscv_fill_cpu_vendor_ext()
896 if (ext.subset_ext_size) in riscv_fill_cpu_vendor_ext()
897 for (int k = 0; k < ext.subset_ext_size; k++) in riscv_fill_cpu_vendor_ext()
898 set_bit(ext.subset_ext_ids[k], isavendorinfo->isa); in riscv_fill_cpu_vendor_ext()
900 set_bit(ext.id, isavendorinfo->isa); in riscv_fill_cpu_vendor_ext()
994 const struct riscv_isa_ext_data *ext = &riscv_isa_ext[i]; in riscv_fill_hwcap_from_ext_list() local
997 ext->property) < 0) in riscv_fill_hwcap_from_ext_list()
1000 riscv_isa_set_ext(ext, source_isa); in riscv_fill_hwcap_from_ext_list()