Home
last modified time | relevance | path

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

12345

/Linux-v6.1/Documentation/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-v6.1/Documentation/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".
29 * Support for the execution of SME instructions in userspace can also be
31 instruction, and checking that the value of the SME field is nonzero. [3]
37 * There are a number of optional SME features, presence of these is reported
[all …]
Dsve.rst12 (SME).
62 * On hardware that supports the SME extensions, HWCAP2_SME will also be
63 reported in the AT_HWCAP2 aux vector entry. Among other things SME adds
65 separate SME vector length and the same Z/V registers. See sme.rst
71 ptrace(PTRACE_GETREGSET, pid, NT_ARM_SVE, &iov). Note that when SME is
366 payload is available, this is only possible when SME is implemented.
384 * In systems supporting SME when in streaming mode a GETREGSET for
400 * Where SME is implemented it is not possible to GETREGSET the register
/Linux-v6.1/drivers/staging/wlan-ng/
Dcfg80211.c438 struct cfg80211_connect_params *sme) in prism2_connect() argument
441 struct ieee80211_channel *channel = sme->channel; in prism2_connect()
444 int length = sme->ssid_len; in prism2_connect()
446 int is_wep = (sme->crypto.cipher_group == WLAN_CIPHER_SUITE_WEP40) || in prism2_connect()
447 (sme->crypto.cipher_group == WLAN_CIPHER_SUITE_WEP104); in prism2_connect()
462 if ((sme->auth_type == NL80211_AUTHTYPE_OPEN_SYSTEM) || in prism2_connect()
463 ((sme->auth_type == NL80211_AUTHTYPE_AUTOMATIC) && !is_wep)) in prism2_connect()
465 else if ((sme->auth_type == NL80211_AUTHTYPE_SHARED_KEY) || in prism2_connect()
466 ((sme->auth_type == NL80211_AUTHTYPE_AUTOMATIC) && is_wep)) in prism2_connect()
471 sme->auth_type); in prism2_connect()
[all …]
/Linux-v6.1/drivers/net/wireless/marvell/libertas/
Dcfg.c1020 struct cfg80211_connect_params *sme) in lbs_set_authtype() argument
1036 if (sme->bssid) in lbs_set_authtype()
1037 memcpy(cmd.bssid, sme->bssid, ETH_ALEN); in lbs_set_authtype()
1039 ret = lbs_auth_to_authtype(sme->auth_type); in lbs_set_authtype()
1064 struct cfg80211_connect_params *sme) in lbs_associate() argument
1126 pos += lbs_add_auth_type_tlv(pos, sme->auth_type); in lbs_associate()
1129 if (sme->ie && sme->ie_len) in lbs_associate()
1130 pos += lbs_add_wpa_tlv(pos, sme->ie, sme->ie_len); in lbs_associate()
1204 sme->ie, sme->ie_len, in lbs_associate()
1223 _new_connect_scan_req(struct wiphy *wiphy, struct cfg80211_connect_params *sme) in _new_connect_scan_req() argument
[all …]
/Linux-v6.1/arch/x86/coco/
Dcore.c33 * SME and SEV are very similar but they are not the same, so there are
34 * times that the kernel will need to distinguish between SME and SEV. The
39 * paging is activated, SME will access all memory as decrypted, but SEV
41 * up under SME the trampoline area cannot be encrypted, whereas under SEV
/Linux-v6.1/drivers/net/wireless/microchip/wilc1000/
Dcfg80211.c302 struct cfg80211_connect_params *sme) in connect() argument
319 cipher_group = sme->crypto.cipher_group; in connect()
321 if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_2) { in connect()
326 } else if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_1) { in connect()
339 if ((sme->crypto.wpa_versions & NL80211_WPA_VERSION_1) || in connect()
340 (sme->crypto.wpa_versions & NL80211_WPA_VERSION_2)) { in connect()
341 for (i = 0; i < sme->crypto.n_ciphers_pairwise; i++) { in connect()
342 u32 ciphers_pairwise = sme->crypto.ciphers_pairwise[i]; in connect()
351 switch (sme->auth_type) { in connect()
358 if (sme->ssid_len) { in connect()
[all …]
/Linux-v6.1/drivers/net/wireless/ath/wil6210/
Dcfg80211.c35 MODULE_PARM_DESC(disable_ap_sme, " let user space handle AP mode SME");
1107 struct cfg80211_connect_params *sme) in wil_print_connect_params() argument
1110 if (sme->channel) { in wil_print_connect_params()
1112 sme->channel->hw_value, sme->channel->center_freq); in wil_print_connect_params()
1114 if (sme->bssid) in wil_print_connect_params()
1115 wil_info(wil, " BSSID: %pM\n", sme->bssid); in wil_print_connect_params()
1116 if (sme->ssid) in wil_print_connect_params()
1118 16, 1, sme->ssid, sme->ssid_len, true); in wil_print_connect_params()
1119 if (sme->prev_bssid) in wil_print_connect_params()
1120 wil_info(wil, " Previous BSSID=%pM\n", sme->prev_bssid); in wil_print_connect_params()
[all …]
/Linux-v6.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-v6.1/tools/testing/selftests/arm64/abi/
Dsyscall-abi-asm.S12 // x1: SME VL
60 // Set SVCR if we're doing SME
67 // Load ZA if it's enabled - uses x12 as scratch due to SME LDR
116 // Load the SVE registers if we're doing SVE/SME
222 // Save SVCR if we're doing SME
229 // Save ZA if it's enabled - uses x12 as scratch due to SME STR
295 // Only save FFR if we wrote a value for SME
312 // Clear SVCR if we were doing SME so future tests don't have ZA
Dsyscall-abi.c307 ksft_print_msg("SME VL %d ZA does not match\n", sme_vl); in check_za()
398 "%s SVE VL %d/SME VL %d SM+ZA\n", in test_one_syscall()
402 "%s SVE VL %d/SME VL %d SM\n", in test_one_syscall()
406 "%s SVE VL %d/SME VL %d ZA\n", in test_one_syscall()
450 /* Ensure we configure a SME VL, used to flag if SVCR is set */ in sme_count_vls()
486 ksft_print_msg("SME with FA64\n"); in main()
488 ksft_print_msg("SME without FA64\n"); in main()
/Linux-v6.1/arch/x86/mm/
Dmem_encrypt.c26 * For SME, all DMA must be to unencrypted addresses if the in force_dma_unencrypted()
56 * SME is mutually exclusive with any of the SEV in print_mem_encrypt_feature_info()
59 pr_cont(" SME\n"); in print_mem_encrypt_feature_info()
Dmem_encrypt_identity.c303 * This is early code, use an open coded check for SME instead of in sme_encrypt_kernel()
347 * SME encryption workarea using rip-relative addressing. in sme_encrypt_kernel()
518 /* Check for the SME/SEV support leaf */ in sme_enable()
529 * Check for the SME/SEV feature: in sme_enable()
539 /* Check whether SEV or SME is supported */ in sme_enable()
545 /* Check the SEV MSR whether SEV or SME is enabled */ in sme_enable()
556 * No SME if Hypervisor bit is set. This check is here to in sme_enable()
557 * prevent a guest from trying to enable SME. For running as a in sme_enable()
570 /* For SME, check the SYSCFG MSR */ in sme_enable()
582 * identity mapped, so we must obtain the address to the SME command in sme_enable()
/Linux-v6.1/arch/arm64/kernel/
Dsyscall.c162 * As per the ABI exit SME streaming mode and clear the SVE state not
168 * If SME is active then exit streaming mode. If ZA is active in fp_user_discard()
170 * both SVE and SME enabled, otherwise disable SME for the in fp_user_discard()
187 * If SME is not active then disable SVE, the registers will in fp_user_discard()
Dfpsimd.c145 .name = "SME",
308 * TIF_SME controls whether a task can use SME without trapping while
388 /* Restore SME, override SVE register configuration if needed */ in task_fpsimd_load()
864 * Force reallocation of task SVE and SME state to the correct in vec_set_vector_length()
883 * SVE and SME use the same bits for _ONEXEC and _INHERIT.
1248 /* Allow SME in kernel */ in sme_kernel_enable()
1272 * Use only if SME is present.
1273 * This function clobbers the SME vector length.
1309 * SME doesn't require any particular vector length be in sme_setup()
1341 pr_info("SME: minimum available vector length %u bytes per vector\n", in sme_setup()
[all …]
Didreg-override.c85 * Similarly to SVE, disabling SME also means disabling all in pfr1_sme_filter()
103 FIELD("sme", ID_AA64PFR1_EL1_SME_SHIFT, pfr1_sme_filter),
169 { "arm64.nosve", "id_aa64pfr0.sve=0 id_aa64pfr1.sme=0" },
170 { "arm64.nosme", "id_aa64pfr1.sme=0" },
/Linux-v6.1/arch/arm64/kvm/
Dfpsimd.c90 * We don't currently support SME guests but if we leave in kvm_arch_vcpu_load_fp()
92 * FPSIMD or SVE code it may generate SME traps so as a in kvm_arch_vcpu_load_fp()
95 * don't have to handle any SME traps for valid guest in kvm_arch_vcpu_load_fp()
136 * Currently we do not support SME guests so SVCR is in kvm_arch_vcpu_ctxsync_fp()
163 * CPACR_EL1_DEFAULT and we need to reenable SME. in kvm_arch_vcpu_put_fp()
/Linux-v6.1/tools/testing/selftests/arm64/fp/
DMakefile13 rdvl-sme rdvl-sve \
28 $(OUTPUT)/rdvl-sme: rdvl-sme.c $(OUTPUT)/rdvl.o
/Linux-v6.1/drivers/net/wireless/quantenna/qtnfmac/
Dcommands.c2074 struct cfg80211_connect_params *sme) in qtnf_cmd_send_connect() argument
2094 if (sme->bssid_hint) in qtnf_cmd_send_connect()
2095 ether_addr_copy(cmd->bssid_hint, sme->bssid_hint); in qtnf_cmd_send_connect()
2099 if (sme->prev_bssid) in qtnf_cmd_send_connect()
2100 ether_addr_copy(cmd->prev_bssid, sme->prev_bssid); in qtnf_cmd_send_connect()
2104 if ((sme->bg_scan_period >= 0) && in qtnf_cmd_send_connect()
2105 (sme->bg_scan_period <= SHRT_MAX)) in qtnf_cmd_send_connect()
2106 cmd->bg_scan_period = cpu_to_le16(sme->bg_scan_period); in qtnf_cmd_send_connect()
2110 if (sme->flags & ASSOC_REQ_DISABLE_HT) in qtnf_cmd_send_connect()
2112 if (sme->flags & ASSOC_REQ_DISABLE_VHT) in qtnf_cmd_send_connect()
[all …]
/Linux-v6.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-v6.1/drivers/net/wireless/broadcom/brcm80211/brcmfmac/
Dcfg80211.c1605 struct cfg80211_connect_params *sme) in brcmf_set_wpa_version() argument
1614 if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_1) in brcmf_set_wpa_version()
1616 else if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_2) in brcmf_set_wpa_version()
1618 else if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_3) in brcmf_set_wpa_version()
1629 sec->wpa_versions = sme->crypto.wpa_versions; in brcmf_set_wpa_version()
1634 struct cfg80211_connect_params *sme) in brcmf_set_auth_type() argument
1643 switch (sme->auth_type) { in brcmf_set_auth_type()
1658 brcmf_dbg(CONN, "automatic, auth type (%d)\n", sme->auth_type); in brcmf_set_auth_type()
1668 sec->auth_type = sme->auth_type; in brcmf_set_auth_type()
1674 struct cfg80211_connect_params *sme) in brcmf_set_wsec_mode() argument
[all …]
/Linux-v6.1/arch/x86/include/asm/
Dprocessor-flags.h28 * On systems with SME, one bit (in a variable position!) is stolen to indicate
37 /* Mask off the address space ID and SME encryption bits. */
/Linux-v6.1/arch/x86/kernel/
Dhead64.c135 /* Encrypt the kernel and related (if SME is active) */ in sme_postprocess_startup()
167 * Return the SME encryption mask (if SME is active) to be used as a in sme_postprocess_startup()
209 /* Include the SME encryption mask in the fixup value */ in __startup_64()
452 * If SME is active, this will create decrypted mappings of the in copy_bootdata()
467 * freeing up that memory for use by the system. If SME is active, in copy_bootdata()
504 * SME support may update early_pmd_flags to include the memory in x86_64_start_kernel()
/Linux-v6.1/drivers/crypto/ccp/
Dpsp-dev.c77 /* Detect if TSME and SME are both enabled */ in psp_get_capability()
81 …dev_notice(psp->dev, "psp: Both TSME and SME are active, SME is unnecessary when TSME is active.\n… in psp_get_capability()
/Linux-v6.1/drivers/net/wireless/
Drndis_wlan.c481 struct cfg80211_connect_params *sme);
2134 struct cfg80211_connect_params *sme) in rndis_connect() argument
2138 struct ieee80211_channel *channel = sme->channel; in rndis_connect()
2148 groupwise = rndis_cipher_to_alg(sme->crypto.cipher_group); in rndis_connect()
2149 for (i = 0; i < sme->crypto.n_ciphers_pairwise; i++) in rndis_connect()
2151 rndis_cipher_to_alg(sme->crypto.ciphers_pairwise[i]); in rndis_connect()
2153 if (sme->crypto.n_ciphers_pairwise > 0 && in rndis_connect()
2159 for (i = 0; i < sme->crypto.n_akm_suites; i++) in rndis_connect()
2161 rndis_akm_suite_to_key_mgmt(sme->crypto.akm_suites[i]); in rndis_connect()
2163 if (sme->crypto.n_akm_suites > 0 && in rndis_connect()
[all …]

12345