Lines Matching full:extensions
43 /* Per-cpu ISA extensions. */
185 * F and D, so if any of the vector extensions that do floating point in riscv_ext_vector_float_validate()
186 * are to be usable, both floating point extensions need to be usable. in riscv_ext_vector_float_validate()
205 * it should be enough to check that any of the vector extensions are in riscv_ext_vector_crypto_validate()
390 * existence of the CSR, and treat it as a subset of those other extensions.
402 * These extensions will be enabled and then validated depending on the
421 * 1. All multi-letter extensions must be separated from other extensions by an
424 * 2. Additional standard extensions (starting with 'Z') must be sorted after
425 * single-letter extensions and before any higher-privileged extensions.
429 * If multiple 'Z' extensions are named, they must be ordered first by
432 * 3. Standard supervisor-level extensions (starting with 'S') must be listed
433 * after standard unprivileged extensions. If multiple supervisor-level
434 * extensions are listed, they must be ordered alphabetically.
436 * 4. Standard machine-level extensions (starting with 'Zxm') must be listed
437 * after any lower-privileged, standard extensions. If multiple
438 * machine-level extensions are listed, they must be ordered
441 * 5. Non-standard extensions (starting with 'X') must be listed after all
442 * standard extensions. If multiple non-standard extensions are listed, they
570 * well as correct extension dependencies. Some extensions depends on specific
572 * and this function will actually validate all the extensions provided in
573 * source_isa into the resolved_isa based on extensions validate() callbacks.
611 /* Single letter extensions get set in hwcap */ in riscv_resolve_isa()
650 pr_warn_once("Vendor extensions are ignored in riscv,isa. Use riscv,isa-extensions instead."); in riscv_parse_isa_string()
653 * As multi-letter extensions must be split from other multi-letter in riscv_parse_isa_string()
654 * extensions with an "_", the end of a multi-letter extension will in riscv_parse_isa_string()
666 * not valid ISA extensions. It works unless the first in riscv_parse_isa_string()
681 * As multi-letter extensions must be split from other multi-letter in riscv_parse_isa_string()
682 * extensions with an "_", the end of a multi-letter extension will in riscv_parse_isa_string()
686 * Next, as the extensions version is currently ignored, we in riscv_parse_isa_string()
694 * character itself while eliminating the extensions version number. in riscv_parse_isa_string()
723 * Things are a little easier for single-letter extensions, as they in riscv_parse_isa_string()
888 if (of_property_match_string(cpu_node, "riscv,isa-extensions", in riscv_fill_cpu_vendor_ext()
893 * Assume that subset extensions are all members of the in riscv_fill_cpu_vendor_ext()
906 * Populate all_harts_isa_bitmap for each vendor with all of the extensions that
988 if (!of_property_present(cpu_node, "riscv,isa-extensions")) { in riscv_fill_hwcap_from_ext_list()
996 if (of_property_match_string(cpu_node, "riscv,isa-extensions", in riscv_fill_hwcap_from_ext_list()
1026 * Execute ghostwrite mitigation immediately after detecting extensions in riscv_fill_hwcap_from_ext_list()
1100 pr_info("riscv: base ISA extensions %s\n", print_str); in riscv_fill_hwcap()