Home
last modified time | relevance | path

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

123456

/linux-6.12.1/tools/testing/selftests/arm64/abi/
Dsyscall-abi.c331 ksft_print_msg("SME VL %d ZA does not match\n", sme_vl); in check_za()
360 ksft_print_msg("SME VL %d ZT does not match\n", sme_vl); in check_zt()
412 int sve, sme; in test_one_syscall() local
428 for (sme = 0; sme < sme_vl_count; sme++) { in test_one_syscall()
429 ret = prctl(PR_SME_SET_VL, sme_vls[sme]); in test_one_syscall()
435 sme_vls[sme], in test_one_syscall()
437 "%s SVE VL %d/SME VL %d SM+ZA\n", in test_one_syscall()
439 sme_vls[sme]); in test_one_syscall()
441 sme_vls[sme], SVCR_SM_MASK), in test_one_syscall()
442 "%s SVE VL %d/SME VL %d SM\n", in test_one_syscall()
[all …]
Dhwcap.c653 .name = "SME",
656 .cpuinfo = "sme",
669 .name = "SME 2.1",
676 .name = "SME I16I32",
683 .name = "SME BI32I32",
690 .name = "SME B16B16",
697 .name = "SME F16F16",
704 .name = "SME F8F16",
711 .name = "SME F8F32",
718 .name = "SME LUTV2",
[all …]
Dsyscall-abi-asm.S12 // x1: SME VL
83 // Set SVCR if we're doing SME
90 // Load ZA and ZT0 if enabled - uses x12 as scratch due to SME LDR
153 // Load the SVE registers if we're doing SVE/SME
258 // Save SVCR if we're doing SME
265 // Save ZA if it's enabled - uses x12 as scratch due to SME STR
340 // Only save FFR if we wrote a value for SME
357 // Clear SVCR if we were doing SME so future tests don't have ZA
/linux-6.12.1/Documentation/arch/x86/
Damd-memory-encryption.rst7 Secure Memory Encryption (SME) and Secure Encrypted Virtualization (SEV) are
10 SME provides the ability to mark individual pages of memory as encrypted using
13 DRAM. SME can therefore be used to protect the contents of DRAM from physical
20 memory may be encrypted with hypervisor key. When SME is enabled, the hypervisor
21 key is the same key which is used in SME.
42 Support for SME and SEV can be determined through the CPUID instruction. The
43 CPUID function 0x8000001f reports information related to SME::
46 Bit[0] indicates support for SME
56 If support for SME is present, MSR 0xc00100010 (MSR_AMD64_SYSCFG) can be used to
57 determine if SME is enabled and/or to enable memory encryption::
[all …]
/linux-6.12.1/Documentation/arch/arm64/
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 …]
Dsve.rst12 (SME).
63 * On hardware that supports the SME extensions, HWCAP2_SME will also be
64 reported in the AT_HWCAP2 aux vector entry. Among other things SME adds
66 separate SME vector length and the same Z/V registers. See sme.rst
72 ptrace(PTRACE_GETREGSET, pid, NT_ARM_SVE, &iov). Note that when SME is
362 payload is available, this is only possible when SME is implemented.
380 * In systems supporting SME when in streaming mode a GETREGSET for
396 * Where SME is implemented it is not possible to GETREGSET the register
/linux-6.12.1/drivers/net/wireless/marvell/libertas/
Dcfg.c1069 struct cfg80211_connect_params *sme) in lbs_set_authtype() argument
1085 if (sme->bssid) in lbs_set_authtype()
1086 memcpy(cmd.bssid, sme->bssid, ETH_ALEN); in lbs_set_authtype()
1088 ret = lbs_auth_to_authtype(sme->auth_type); in lbs_set_authtype()
1113 struct cfg80211_connect_params *sme) in lbs_associate() argument
1175 pos += lbs_add_auth_type_tlv(pos, sme->auth_type); in lbs_associate()
1178 if (sme->ie && sme->ie_len) in lbs_associate()
1179 pos += lbs_add_wpa_tlv(pos, sme->ie, sme->ie_len); in lbs_associate()
1253 sme->ie, sme->ie_len, in lbs_associate()
1272 _new_connect_scan_req(struct wiphy *wiphy, struct cfg80211_connect_params *sme) in _new_connect_scan_req() argument
[all …]
/linux-6.12.1/drivers/net/wireless/microchip/wilc1000/
Dcfg80211.c299 struct cfg80211_connect_params *sme) in connect() argument
316 cipher_group = sme->crypto.cipher_group; in connect()
318 if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_2) { in connect()
323 } else if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_1) { in connect()
336 if ((sme->crypto.wpa_versions & NL80211_WPA_VERSION_1) || in connect()
337 (sme->crypto.wpa_versions & NL80211_WPA_VERSION_2)) { in connect()
338 for (i = 0; i < sme->crypto.n_ciphers_pairwise; i++) { in connect()
339 u32 ciphers_pairwise = sme->crypto.ciphers_pairwise[i]; in connect()
348 switch (sme->auth_type) { in connect()
355 if (sme->ssid_len) { in connect()
[all …]
/linux-6.12.1/drivers/net/wireless/ath/wil6210/
Dcfg80211.c35 MODULE_PARM_DESC(disable_ap_sme, " let user space handle AP mode SME");
1104 struct cfg80211_connect_params *sme) in wil_print_connect_params() argument
1107 if (sme->channel) { in wil_print_connect_params()
1109 sme->channel->hw_value, sme->channel->center_freq); in wil_print_connect_params()
1111 if (sme->bssid) in wil_print_connect_params()
1112 wil_info(wil, " BSSID: %pM\n", sme->bssid); in wil_print_connect_params()
1113 if (sme->ssid) in wil_print_connect_params()
1115 16, 1, sme->ssid, sme->ssid_len, true); in wil_print_connect_params()
1116 if (sme->prev_bssid) in wil_print_connect_params()
1117 wil_info(wil, " Previous BSSID=%pM\n", sme->prev_bssid); in wil_print_connect_params()
[all …]
/linux-6.12.1/arch/x86/coco/
Dcore.c42 * the other levels of SME/SEV functionality, including C-bit
57 * SME and SEV are very similar but they are not the same, so there are
58 * times that the kernel will need to distinguish between SME and SEV. The
63 * paging is activated, SME will access all memory as decrypted, but SEV
65 * up under SME the trampoline area cannot be encrypted, whereas under SEV
/linux-6.12.1/arch/arm64/kvm/
Dfpsimd.c80 * enabled and the guest does not enable SME via in kvm_arch_vcpu_load_fp()
82 * may generate SME traps from EL1 to EL1 which we in kvm_arch_vcpu_load_fp()
96 * If normal guests gain SME support, maintain this behavior for pKVM in kvm_arch_vcpu_load_fp()
97 * guests, which don't support SME. in kvm_arch_vcpu_load_fp()
131 * Currently we do not support SME guests so SVCR is in kvm_arch_vcpu_ctxsync_fp()
167 * the default value and we need to reenable SME. in kvm_arch_vcpu_put_fp()
/linux-6.12.1/tools/testing/selftests/arm64/signal/testcases/
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-6.12.1/drivers/net/wireless/quantenna/qtnfmac/
Dcommands.c2076 struct cfg80211_connect_params *sme) in qtnf_cmd_send_connect() argument
2096 if (sme->bssid_hint) in qtnf_cmd_send_connect()
2097 ether_addr_copy(cmd->bssid_hint, sme->bssid_hint); in qtnf_cmd_send_connect()
2101 if (sme->prev_bssid) in qtnf_cmd_send_connect()
2102 ether_addr_copy(cmd->prev_bssid, sme->prev_bssid); in qtnf_cmd_send_connect()
2106 if ((sme->bg_scan_period >= 0) && in qtnf_cmd_send_connect()
2107 (sme->bg_scan_period <= SHRT_MAX)) in qtnf_cmd_send_connect()
2108 cmd->bg_scan_period = cpu_to_le16(sme->bg_scan_period); in qtnf_cmd_send_connect()
2112 if (sme->flags & ASSOC_REQ_DISABLE_HT) in qtnf_cmd_send_connect()
2114 if (sme->flags & ASSOC_REQ_DISABLE_VHT) in qtnf_cmd_send_connect()
[all …]
/linux-6.12.1/tools/testing/selftests/arm64/fp/
Dfp-ptrace-asm.S12 #include "sme-inst.h"
19 // x1 - SME in use
46 // SME?
51 // SVCR is 0 by default, avoid triggering SME if not in use
118 // FFR is not present in base SME
168 // SME?
DMakefile16 rdvl-sme rdvl-sve \
34 $(OUTPUT)/rdvl-sme: rdvl-sme.c $(OUTPUT)/rdvl.o
Dfp-ptrace.c85 void load_and_save(int sve, int sme, int sme2, int fa64);
221 ksft_print_msg("Failed to set SME VL %d: %d\n", in run_child()
293 read_one_child_regs(child, "SME VL", &iov_parent, &iov_child); in read_child_regs()
538 ksft_print_msg("Mismatch in initial SME VL: %d != %d\n", in check_ptrace_values_za()
903 ksft_print_msg("Mismatch in SME VL: %ld != %d\n", in check_memory_values()
957 /* Changing the SME VL disables ZA */ in sve_write_supported()
1076 /* Changing the SME VL exits streaming mode */ in za_write_supported()
1103 /* Changing the SME VL flushes ZT, SVE state and exits SM */ in za_write_expected()
1201 snprintf(name, sizeof(name), "%s, SVE %d->%d, SME %d/%x->%d/%x", in run_test()
1210 snprintf(name, sizeof(name), "%s, SME %d/%x->%d/%x", in run_test()
[all …]
/linux-6.12.1/arch/x86/mm/
Dmem_encrypt.c29 * For SME, all DMA must be to unencrypted addresses if the in force_dma_unencrypted()
59 * SME is mutually exclusive with any of the SEV in print_mem_encrypt_feature_info()
62 pr_cont(" SME\n"); in print_mem_encrypt_feature_info()
Dmem_encrypt_identity.c299 * This is early code, use an open coded check for SME instead of in sme_encrypt_kernel()
503 /* Check for the SME/SEV support leaf */ in sme_enable()
514 * Check for the SME/SEV feature: in sme_enable()
524 /* Check whether SEV or SME is supported */ in sme_enable()
530 /* Check the SEV MSR whether SEV or SME is enabled */ in sme_enable()
544 * No SME if Hypervisor bit is set. This check is here to in sme_enable()
545 * prevent a guest from trying to enable SME. For running as a in sme_enable()
558 /* For SME, check the SYSCFG MSR */ in sme_enable()
/linux-6.12.1/drivers/net/wireless/ath/ath6kl/
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-6.12.1/arch/arm64/kernel/
Dfpsimd.c137 .name = "SME",
273 * TIF_SME controls whether a task can use SME without trapping while
398 /* Restore SME, override SVE register configuration if needed */ in task_fpsimd_load()
891 * We are changing the SME VL or weren't using in vec_set_vector_length()
892 * SME anyway, discard the state and force a in vec_set_vector_length()
908 * Free the changed states if they are not in use, SME will be in vec_set_vector_length()
929 * SVE and SME use the same bits for _ONEXEC and _INHERIT.
1258 /* Allow SME in kernel */ in cpu_enable_sme()
1272 /* This must be enabled after SME */ in cpu_enable_sme2()
1282 /* This must be enabled after SME */ in cpu_enable_fa64()
[all …]
/linux-6.12.1/drivers/net/wireless/broadcom/brcm80211/brcmfmac/
Dcfg80211.c1938 struct cfg80211_connect_params *sme) in brcmf_set_wpa_version() argument
1947 if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_1) in brcmf_set_wpa_version()
1949 else if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_2) in brcmf_set_wpa_version()
1951 else if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_3) in brcmf_set_wpa_version()
1962 sec->wpa_versions = sme->crypto.wpa_versions; in brcmf_set_wpa_version()
1967 struct cfg80211_connect_params *sme) in brcmf_set_auth_type() argument
1976 switch (sme->auth_type) { in brcmf_set_auth_type()
1991 brcmf_dbg(CONN, "automatic, auth type (%d)\n", sme->auth_type); in brcmf_set_auth_type()
2001 sec->auth_type = sme->auth_type; in brcmf_set_auth_type()
2007 struct cfg80211_connect_params *sme) in brcmf_set_wsec_mode() argument
[all …]
/linux-6.12.1/tools/testing/selftests/arm64/signal/
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-6.12.1/arch/x86/kernel/
Dhead64.c99 /* Encrypt the kernel and related (if SME is active) */ in sme_postprocess_startup()
131 * Return the SME encryption mask (if SME is active) to be used as a in sme_postprocess_startup()
173 /* Include the SME encryption mask in the fixup value */ in __startup_64()
403 * If SME is active, this will create decrypted mappings of the in copy_bootdata()
418 * freeing up that memory for use by the system. If SME is active, in copy_bootdata()
455 * SME support may update early_pmd_flags to include the memory in x86_64_start_kernel()
/linux-6.12.1/drivers/net/wireless/virtual/
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-6.12.1/arch/x86/include/asm/
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. */

123456