Home
last modified time | relevance | path

Searched full:sme (Results 1 – 25 of 104) sorted by relevance

12345

/linux/Documentation/arch/arm64/
H A Dsme.rst6 order to support use of the ARM Scalable Matrix Extension (SME).
11 included in SME.
13 This document does not aim to describe the SME architecture or programmer's
15 model features for SME is included in Appendix A.
24 * The presence of SME is reported to userspace via HWCAP2_SME in the aux vector
25 AT_HWCAP2 entry. Presence of this flag implies the presence of the SME
27 described in this document. SME is reported in /proc/cpuinfo as "sme".
34 * Support for the execution of SME instructions in userspace can also be
36 instruction, and checking that the value of the SME field is nonzero. [3]
42 * There are a number of optional SME features, presence of these is reported
[all …]
/linux/drivers/net/wireless/marvell/libertas/
H A Dcfg.c1070 struct cfg80211_connect_params *sme) in lbs_set_authtype() argument
1086 if (sme->bssid) in lbs_set_authtype()
1087 memcpy(cmd.bssid, sme->bssid, ETH_ALEN); in lbs_set_authtype()
1089 ret = lbs_auth_to_authtype(sme->auth_type); in lbs_set_authtype()
1114 struct cfg80211_connect_params *sme) in lbs_associate() argument
1179 pos += lbs_add_auth_type_tlv(pos, sme->auth_type); in lbs_associate()
1182 if (sme->ie && sme->ie_len) in lbs_associate()
1183 pos += lbs_add_wpa_tlv(pos, sme->ie, sme->ie_len); in lbs_associate()
1257 sme->ie, sme->ie_len, in lbs_associate()
1276 _new_connect_scan_req(struct wiphy *wiphy, struct cfg80211_connect_params *sme) in _new_connect_scan_req() argument
[all …]
/linux/tools/testing/selftests/arm64/abi/
H A Dhwcap.c850 .name = "SME",
853 .cpuinfo = "sme",
866 .name = "SME 2.1",
873 .name = "SME 2.2",
880 .name = "SME AES",
887 .name = "SME I16I32",
894 .name = "SME BI32I32",
901 .name = "SME B16B16",
908 .name = "SME F16F16",
915 .name = "SME F8F16",
[all …]
H A Dsyscall-abi-asm.S12 // x1: SME VL
83 // Set SVCR if we're doing SME
89 // Load ZA and ZT0 if enabled - uses x12 as scratch due to SME LDR
152 // Load the SVE registers if we're doing SVE/SME
257 // Save SVCR if we're doing SME
263 // Save ZA if it's enabled - uses x12 as scratch due to SME STR
338 // Only save FFR if we wrote a value for SME
355 // Clear SVCR if we were doing SME so future tests don't have ZA
/linux/arch/x86/coco/
H A Dcore.c44 * the other levels of SME/SEV functionality, including C-bit
59 * SME and SEV are very similar but they are not the same, so there are
60 * times that the kernel will need to distinguish between SME and SEV. The
65 * paging is activated, SME will access all memory as decrypted, but SEV
67 * up under SME the trampoline area cannot be encrypted, whereas under SEV
/linux/tools/testing/selftests/arm64/signal/testcases/
H A Dsme_vl.c5 * Check that the SME vector length reported in signal contexts is the
62 .name = "SME VL",
63 .descr = "Check that we get the right SME VL reported",
/linux/tools/testing/selftests/arm64/fp/
H A DMakefile16 rdvl-sme rdvl-sve \
34 $(OUTPUT)/rdvl-sme: rdvl-sme.c $(OUTPUT)/rdvl.o
H A Dfp-ptrace.c247 ksft_print_msg("Failed to set SME VL %d: %d\n", in run_child()
330 read_one_child_regs(child, "SME VL", &iov_parent, &iov_child); in read_child_regs()
597 ksft_print_msg("Mismatch in initial SME VL: %d != %d\n", in check_ptrace_values_za()
995 ksft_print_msg("Mismatch in SME VL: %ld != %d\n", in check_memory_values()
1055 /* Changing the SME VL disables ZA */ in sve_write_supported()
1283 /* Changing the SME VL flushes ZT, SVE state */ in za_write_expected()
1379 snprintf(name, sizeof(name), "%s, SVE %d->%d, SME %d/%x->%d/%x", in run_test()
1388 snprintf(name, sizeof(name), "%s, SME %d/%x->%d/%x", in run_test()
1585 * Every SME VL/SVCR combination in run_sme_tests()
1639 probe_vls("SME", sme_vls, &sme_vl_count, PR_SME_SET_VL); in main()
[all …]
H A D.gitignore6 rdvl-sme
H A Drdvl.S4 #include "sme-inst.h"
/linux/drivers/net/wireless/ath/ath6kl/
H A Dcfg80211.c455 struct cfg80211_connect_params *sme) in ath6kl_cfg80211_connect() argument
476 ((sme->channel && sme->channel->center_freq == 0) || in ath6kl_cfg80211_connect()
477 (sme->bssid && is_zero_ether_addr(sme->bssid)))) { in ath6kl_cfg80211_connect()
507 status = ath6kl_set_assoc_req_ies(vif, sme->ie, sme->ie_len); in ath6kl_cfg80211_connect()
513 if (sme->ie == NULL || sme->ie_len == 0) in ath6kl_cfg80211_connect()
517 vif->ssid_len == sme->ssid_len && in ath6kl_cfg80211_connect()
518 !memcmp(vif->ssid, sme->ssid, vif->ssid_len)) { in ath6kl_cfg80211_connect()
530 } else if (vif->ssid_len == sme->ssid_len && in ath6kl_cfg80211_connect()
531 !memcmp(vif->ssid, sme->ssid, vif->ssid_len)) { in ath6kl_cfg80211_connect()
536 vif->ssid_len = sme->ssid_len; in ath6kl_cfg80211_connect()
[all …]
/linux/arch/x86/boot/startup/
H A Dsme.c295 * This is early code, use an open coded check for SME instead of in sme_encrypt_kernel()
498 /* Check for the SME/SEV support leaf */ in sme_enable()
509 * Check for the SME/SEV feature: in sme_enable()
519 /* Check whether SEV or SME is supported */ in sme_enable()
526 /* Check the SEV MSR whether SEV or SME is enabled */ in sme_enable()
543 * No SME if Hypervisor bit is set. This check is here to in sme_enable()
544 * prevent a guest from trying to enable SME. For running as a in sme_enable()
557 /* For SME, check the SYSCFG MSR */ in sme_enable()
H A Dmap_kernel.c40 /* Encrypt the kernel and related (if SME is active) */ in sme_postprocess_startup()
72 * Return the SME encryption mask (if SME is active) to be used as a in sme_postprocess_startup()
121 /* Include the SME encryption mask in the fixup value */ in __startup_64()
/linux/arch/arm64/kvm/
H A Dfpsimd.c32 * Ensure that any host FPSIMD/SVE/SME state is saved and unbound such in kvm_arch_vcpu_load_fp()
36 * When the host may use SME, fpsimd_save_and_flush_cpu_state() ensures in kvm_arch_vcpu_load_fp()
73 * Currently we do not support SME guests so SVCR is in kvm_arch_vcpu_ctxsync_fp()
/linux/arch/arm64/kernel/
H A Dfpsimd.c137 .name = "SME",
273 * TIF_SME controls whether a task can use SME without trapping while
393 /* Restore SME, override SVE register configuration if needed */ in task_fpsimd_load()
761 * The task's FPSIMD/SVE/SME state must not be subject to concurrent
775 * The task's FPSIMD/SVE/SME state must not be subject to concurrent
899 * SVE and SME use the same bits for _ONEXEC and _INHERIT.
1228 /* Allow SME in kernel */ in cpu_enable_sme()
1242 /* This must be enabled after SME */ in cpu_enable_sme2()
1252 /* This must be enabled after SME */ in cpu_enable_fa64()
1271 * SME doesn't require any particular vector length be in sme_setup()
[all …]
/linux/drivers/net/wireless/virtual/
H A Dvirt_wifi.c229 struct cfg80211_connect_params *sme) in virt_wifi_connect() argument
237 if (!sme->ssid) in virt_wifi_connect()
240 priv->connect_requested_ssid_len = sme->ssid_len; in virt_wifi_connect()
241 memcpy(priv->connect_requested_ssid, sme->ssid, sme->ssid_len); in virt_wifi_connect()
247 if (sme->bssid) { in virt_wifi_connect()
248 ether_addr_copy(priv->connect_requested_bss, sme->bssid); in virt_wifi_connect()
/linux/tools/testing/selftests/arm64/signal/
H A Dsve_helpers.c5 * Common helper functions for SVE and SME functionality.
33 * Unlike SVE, SME does not require the minimum vector length in sve_fill_vls()
/linux/arch/x86/include/asm/
H A Dprocessor-flags.h28 * On systems with SME, one bit (in a variable position!) is stolen to indicate
39 /* Mask off the address space ID and SME encryption bits. */
/linux/arch/x86/kernel/cpu/
H A Damd.c550 * support SME. This provides support for performing a successful in early_detect_mem_encrypt()
551 * kexec when going from SME inactive to SME active (or vice-versa). in early_detect_mem_encrypt()
566 * BIOS support is required for SME and SEV. in early_detect_mem_encrypt()
567 * For SME: If BIOS has enabled SME then adjust x86_phys_bits by in early_detect_mem_encrypt()
568 * the SME physical address space reduction value. in early_detect_mem_encrypt()
569 * If BIOS has not enabled SME then don't advertise the in early_detect_mem_encrypt()
570 * SME feature (set in scattered.c). in early_detect_mem_encrypt()
571 * If the kernel has not enabled SME via any means then in early_detect_mem_encrypt()
572 * don't advertise the SME feature. in early_detect_mem_encrypt()
576 * In all cases, since support for SME and SEV requires long mode, in early_detect_mem_encrypt()
/linux/include/linux/
H A Dcc_platform.h31 * Examples include SME, SEV and SEV-ES.
41 * Examples include SME.
/linux/arch/x86/kernel/
H A Dhead_64.S88 * Activate SEV/SME memory encryption if supported/enabled. This needs to
108 * Perform pagetable fixups. Additionally, if SME is active, encrypt
109 * the kernel and retrieve the modifier (SME encryption mask if SME
186 * Retrieve the modifier (SME encryption mask if SME is active) to be
H A Dhead64.c200 * If SME is active, this will create decrypted mappings of the in copy_bootdata()
215 * freeing up that memory for use by the system. If SME is active, in copy_bootdata()
258 * SME support may update early_pmd_flags to include the memory in x86_64_start_kernel()
/linux/arch/arm64/include/asm/
H A Dthread_info.h83 #define TIF_SME 27 /* SME in use */
84 #define TIF_SME_VL_INHERIT 28 /* Inherit SME vl_onexec across exec */
H A Del2_setup.h544 .Linit_sme_\@: /* SME register access and priority mapping */
548 mrs x0, cpacr_el1 // Disable SME traps
554 mrs x0, cptr_el2 // Disable SME traps
582 orr x0, x0, #SMCR_ELx_LEN_MASK // Enable full SME vector
/linux/arch/arm64/kernel/pi/
H A Didreg-override.c138 * Similarly to SVE, disabling SME also means disabling all in pfr1_sme_filter()
157 FIELD("sme", ID_AA64PFR1_EL1_SME_SHIFT, pfr1_sme_filter),
238 { "arm64.nosme", "id_aa64pfr1.sme=0" },

12345