Lines Matching full:extensions
42 /* Per-cpu ISA extensions. */
169 * F and D, so if any of the vector extensions that do floating point in riscv_ext_vector_float_validate()
170 * are to be usable, both floating point extensions need to be usable. in riscv_ext_vector_float_validate()
189 * it should be enough to check that any of the vector extensions are in riscv_ext_vector_crypto_validate()
374 * existence of the CSR, and treat it as a subset of those other extensions.
386 * These extensions will be enabled and then validated depending on the
405 * 1. All multi-letter extensions must be separated from other extensions by an
408 * 2. Additional standard extensions (starting with 'Z') must be sorted after
409 * single-letter extensions and before any higher-privileged extensions.
413 * If multiple 'Z' extensions are named, they must be ordered first by
416 * 3. Standard supervisor-level extensions (starting with 'S') must be listed
417 * after standard unprivileged extensions. If multiple supervisor-level
418 * extensions are listed, they must be ordered alphabetically.
420 * 4. Standard machine-level extensions (starting with 'Zxm') must be listed
421 * after any lower-privileged, standard extensions. If multiple
422 * machine-level extensions are listed, they must be ordered
425 * 5. Non-standard extensions (starting with 'X') must be listed after all
426 * standard extensions. If multiple non-standard extensions are listed, they
553 * well as correct extension dependencies. Some extensions depends on specific
555 * and this function will actually validate all the extensions provided in
556 * source_isa into the resolved_isa based on extensions validate() callbacks.
594 /* Single letter extensions get set in hwcap */ in riscv_resolve_isa()
633 pr_warn_once("Vendor extensions are ignored in riscv,isa. Use riscv,isa-extensions instead."); in riscv_parse_isa_string()
636 * As multi-letter extensions must be split from other multi-letter in riscv_parse_isa_string()
637 * extensions with an "_", the end of a multi-letter extension will in riscv_parse_isa_string()
649 * not valid ISA extensions. It works unless the first in riscv_parse_isa_string()
664 * As multi-letter extensions must be split from other multi-letter in riscv_parse_isa_string()
665 * extensions with an "_", the end of a multi-letter extension will in riscv_parse_isa_string()
669 * Next, as the extensions version is currently ignored, we in riscv_parse_isa_string()
677 * character itself while eliminating the extensions version number. in riscv_parse_isa_string()
706 * Things are a little easier for single-letter extensions, as they in riscv_parse_isa_string()
871 if (of_property_match_string(cpu_node, "riscv,isa-extensions", in riscv_fill_cpu_vendor_ext()
876 * Assume that subset extensions are all members of the in riscv_fill_cpu_vendor_ext()
889 * Populate all_harts_isa_bitmap for each vendor with all of the extensions that
971 if (!of_property_present(cpu_node, "riscv,isa-extensions")) { in riscv_fill_hwcap_from_ext_list()
979 if (of_property_match_string(cpu_node, "riscv,isa-extensions", in riscv_fill_hwcap_from_ext_list()
1009 * Execute ghostwrite mitigation immediately after detecting extensions in riscv_fill_hwcap_from_ext_list()
1083 pr_info("riscv: base ISA extensions %s\n", print_str); in riscv_fill_hwcap()