| /kernel/linux/linux-5.10/Documentation/x86/ |
| D | amd-memory-encryption.rst | 7 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_K8_SYSCFG) can be used to 57 determine if SME is enabled and/or to enable memory encryption:: [all …]
|
| /kernel/linux/linux-6.6/tools/testing/selftests/arm64/abi/ |
| D | syscall-abi.c | 331 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 …]
|
| D | syscall-abi-asm.S | 12 // 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
|
| /kernel/linux/linux-6.6/Documentation/arch/x86/ |
| D | amd-memory-encryption.rst | 7 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 …]
|
| /kernel/linux/linux-6.6/Documentation/arch/arm64/ |
| D | sme.rst | 6 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 …]
|
| /kernel/linux/linux-5.10/drivers/staging/wlan-ng/ |
| D | cfg80211.c | 433 struct cfg80211_connect_params *sme) in prism2_connect() argument 436 struct ieee80211_channel *channel = sme->channel; in prism2_connect() 439 int length = sme->ssid_len; in prism2_connect() 441 int is_wep = (sme->crypto.cipher_group == WLAN_CIPHER_SUITE_WEP40) || in prism2_connect() 442 (sme->crypto.cipher_group == WLAN_CIPHER_SUITE_WEP104); in prism2_connect() 457 if ((sme->auth_type == NL80211_AUTHTYPE_OPEN_SYSTEM) || in prism2_connect() 458 ((sme->auth_type == NL80211_AUTHTYPE_AUTOMATIC) && !is_wep)) in prism2_connect() 460 else if ((sme->auth_type == NL80211_AUTHTYPE_SHARED_KEY) || in prism2_connect() 461 ((sme->auth_type == NL80211_AUTHTYPE_AUTOMATIC) && is_wep)) in prism2_connect() 466 sme->auth_type); in prism2_connect() [all …]
|
| /kernel/linux/linux-6.6/drivers/staging/wlan-ng/ |
| D | cfg80211.c | 438 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 …]
|
| /kernel/linux/linux-5.10/arch/x86/kernel/ |
| D | cc_platform.c | 26 * SME and SEV are very similar but they are not the same, so there are 27 * times that the kernel will need to distinguish between SME and SEV. The 32 * paging is activated, SME will access all memory as decrypted, but SEV 34 * up under SME the trampoline area cannot be encrypted, whereas under SEV
|
| D | head64.c | 167 /* Activate Secure Memory Encryption (SME) if supported and enabled */ in __startup_64() 170 /* Include the SME encryption mask in the fixup value */ in __startup_64() 280 /* Encrypt the kernel and related (if SME is active) */ in __startup_64() 299 * Return the SME encryption mask (if SME is active) to be used as a in __startup_64() 308 * Return the SME encryption mask (if SME is active) to be used as a in __startup_secondary_64() 441 * If SME is active, this will create decrypted mappings of the in copy_bootdata() 456 * freeing up that memory for use by the system. If SME is active, in copy_bootdata() 489 * SME support may update early_pmd_flags to include the memory in x86_64_start_kernel()
|
| /kernel/linux/linux-5.10/drivers/net/wireless/microchip/wilc1000/ |
| D | cfg80211.c | 300 struct cfg80211_connect_params *sme) in connect() argument 319 cipher_group = sme->crypto.cipher_group; in connect() 324 priv->wep_key_len[sme->key_idx] = sme->key_len; in connect() 325 memcpy(priv->wep_key[sme->key_idx], sme->key, in connect() 326 sme->key_len); in connect() 328 wilc_set_wep_default_keyid(vif, sme->key_idx); in connect() 329 wilc_add_wep_key_bss_sta(vif, sme->key, sme->key_len, in connect() 330 sme->key_idx); in connect() 334 priv->wep_key_len[sme->key_idx] = sme->key_len; in connect() 335 memcpy(priv->wep_key[sme->key_idx], sme->key, in connect() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/marvell/libertas/ |
| D | cfg.c | 1020 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() 1065 struct cfg80211_connect_params *sme) in lbs_associate() argument 1127 pos += lbs_add_auth_type_tlv(pos, sme->auth_type); in lbs_associate() 1130 if (sme->ie && sme->ie_len) in lbs_associate() 1131 pos += lbs_add_wpa_tlv(pos, sme->ie, sme->ie_len); in lbs_associate() 1206 sme->ie, sme->ie_len, in lbs_associate() 1225 _new_connect_scan_req(struct wiphy *wiphy, struct cfg80211_connect_params *sme) in _new_connect_scan_req() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/marvell/libertas/ |
| D | cfg.c | 1069 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 …]
|
| /kernel/linux/linux-6.6/arch/x86/coco/ |
| D | core.c | 38 * the other levels of SME/SEV functionality, including C-bit 53 * SME and SEV are very similar but they are not the same, so there are 54 * times that the kernel will need to distinguish between SME and SEV. The 59 * paging is activated, SME will access all memory as decrypted, but SEV 61 * up under SME the trampoline area cannot be encrypted, whereas under SEV
|
| /kernel/linux/linux-6.6/drivers/net/wireless/microchip/wilc1000/ |
| D | cfg80211.c | 302 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 …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/ath/wil6210/ |
| D | cfg80211.c | 35 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 …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/ath/wil6210/ |
| D | cfg80211.c | 35 MODULE_PARM_DESC(disable_ap_sme, " let user space handle AP mode SME"); 1083 struct cfg80211_connect_params *sme) in wil_print_connect_params() argument 1086 if (sme->channel) { in wil_print_connect_params() 1088 sme->channel->hw_value, sme->channel->center_freq); in wil_print_connect_params() 1090 if (sme->bssid) in wil_print_connect_params() 1091 wil_info(wil, " BSSID: %pM\n", sme->bssid); in wil_print_connect_params() 1092 if (sme->ssid) in wil_print_connect_params() 1094 16, 1, sme->ssid, sme->ssid_len, true); in wil_print_connect_params() 1095 if (sme->prev_bssid) in wil_print_connect_params() 1096 wil_info(wil, " Previous BSSID=%pM\n", sme->prev_bssid); in wil_print_connect_params() [all …]
|
| /kernel/linux/linux-5.10/arch/x86/mm/ |
| D | mem_encrypt.c | 37 * Since SME related variables are set early in the boot process they must 335 * SME and SEV are very similar but they are not the same, so there are 336 * times that the kernel will need to distinguish between SME and SEV. The 341 * paging is activated, SME will access all memory as decrypted, but SEV 343 * up under SME the trampoline area cannot be encrypted, whereas under SEV 373 * For SME, all DMA must be to unencrypted addresses if the in force_dma_unencrypted() 420 * SME is mutually exclusive with any of the SEV in print_mem_encrypt_feature_info() 423 pr_cont(" SME\n"); in print_mem_encrypt_feature_info()
|
| D | mem_encrypt_identity.c | 338 * SME encryption workarea using rip-relative addressing. in sme_encrypt_kernel() 506 /* Check for the SME/SEV support leaf */ in sme_enable() 517 * Check for the SME/SEV feature: in sme_enable() 527 /* Check whether SEV or SME is supported */ in sme_enable() 533 /* Check the SEV MSR whether SEV or SME is enabled */ in sme_enable() 540 * No SME if Hypervisor bit is set. This check is here to in sme_enable() 541 * prevent a guest from trying to enable SME. For running as a in sme_enable() 554 /* For SME, check the SYSCFG MSR */ in sme_enable() 568 * identity mapped, so we must obtain the address to the SME command in sme_enable()
|
| /kernel/linux/linux-6.6/tools/testing/selftests/arm64/signal/testcases/ |
| D | sme_vl.c | 5 * 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",
|
| /kernel/linux/linux-6.6/arch/x86/mm/ |
| D | mem_encrypt.c | 26 * 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()
|
| D | mem_encrypt_identity.c | 299 * 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()
|
| /kernel/linux/linux-6.6/tools/testing/selftests/arm64/fp/ |
| D | Makefile | 13 rdvl-sme rdvl-sve \ 30 $(OUTPUT)/rdvl-sme: rdvl-sme.c $(OUTPUT)/rdvl.o
|
| /kernel/linux/linux-5.10/drivers/net/wireless/quantenna/qtnfmac/ |
| D | commands.c | 2106 struct cfg80211_connect_params *sme) in qtnf_cmd_send_connect() argument 2125 if (sme->bssid_hint) in qtnf_cmd_send_connect() 2126 ether_addr_copy(cmd->bssid_hint, sme->bssid_hint); in qtnf_cmd_send_connect() 2130 if (sme->prev_bssid) in qtnf_cmd_send_connect() 2131 ether_addr_copy(cmd->prev_bssid, sme->prev_bssid); in qtnf_cmd_send_connect() 2135 if ((sme->bg_scan_period >= 0) && in qtnf_cmd_send_connect() 2136 (sme->bg_scan_period <= SHRT_MAX)) in qtnf_cmd_send_connect() 2137 cmd->bg_scan_period = cpu_to_le16(sme->bg_scan_period); in qtnf_cmd_send_connect() 2141 if (sme->flags & ASSOC_REQ_DISABLE_HT) in qtnf_cmd_send_connect() 2143 if (sme->flags & ASSOC_REQ_DISABLE_VHT) in qtnf_cmd_send_connect() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/quantenna/qtnfmac/ |
| D | commands.c | 2075 struct cfg80211_connect_params *sme) in qtnf_cmd_send_connect() argument 2095 if (sme->bssid_hint) in qtnf_cmd_send_connect() 2096 ether_addr_copy(cmd->bssid_hint, sme->bssid_hint); in qtnf_cmd_send_connect() 2100 if (sme->prev_bssid) in qtnf_cmd_send_connect() 2101 ether_addr_copy(cmd->prev_bssid, sme->prev_bssid); in qtnf_cmd_send_connect() 2105 if ((sme->bg_scan_period >= 0) && in qtnf_cmd_send_connect() 2106 (sme->bg_scan_period <= SHRT_MAX)) in qtnf_cmd_send_connect() 2107 cmd->bg_scan_period = cpu_to_le16(sme->bg_scan_period); in qtnf_cmd_send_connect() 2111 if (sme->flags & ASSOC_REQ_DISABLE_HT) in qtnf_cmd_send_connect() 2113 if (sme->flags & ASSOC_REQ_DISABLE_VHT) in qtnf_cmd_send_connect() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/ath/ath6kl/ |
| D | cfg80211.c | 455 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 …]
|