Home
last modified time | relevance | path

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

1234567

/openbmc/linux/tools/testing/selftests/arm64/abi/
H A 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 …]
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
/openbmc/linux/Documentation/arch/x86/
H A 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 …]
/openbmc/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 …]
H A 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
367 payload is available, this is only possible when SME is implemented.
385 * In systems supporting SME when in streaming mode a GETREGSET for
401 * Where SME is implemented it is not possible to GETREGSET the register
/openbmc/linux/drivers/staging/wlan-ng/
H A 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 …]
/openbmc/qemu/tests/tcg/aarch64/
H A DMakefile.target31 … $(call cc-option,-Wa$(COMMA)-march=armv9-a+sme $$fnia, CROSS_AS_HAS_ARMV9_SME)) 3> config-cc.mak
71 # SME Tests
73 SME_TESTS = sme-outprod1 sme-smopa-1 sme-smopa-2 sme-fmopa-1 sme-fmopa-2 sme-fmopa-3
/openbmc/qemu/target/arm/tcg/
H A Dsme.decode1 # AArch64 SME instruction descriptions
22 ### SME Misc
26 ### SME Move into/from Array
41 ### SME Memory
57 ### SME Add Vector to Array
68 ### SME Outer Product
H A Dmeson.build4 decodetree.process('sme.decode', extra_args: '--decode=disas_sme'),
5 decodetree.process('sme-fa64.decode', extra_args: '--static-decode=disas_sme_fa64'),
49 'translate-sme.c',
/openbmc/linux/drivers/net/wireless/marvell/libertas/
H A 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 …]
/openbmc/linux/arch/x86/coco/
H A Dcore.c38 * 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
/openbmc/linux/drivers/net/wireless/microchip/wilc1000/
H A 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 …]
/openbmc/linux/drivers/net/wireless/ath/wil6210/
H A 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 …]
/openbmc/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",
/openbmc/linux/arch/x86/mm/
H A 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()
H A 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()
/openbmc/qemu/docs/system/arm/
H A Dcpu-features.rst372 SME CPU Property Examples
375 1) Disable SME::
377 $ qemu-system-aarch64 -M virt -cpu max,sme=off
413 SME CPU Properties
416 The SME CPU properties are much like the SVE properties: ``sme`` is
417 used to enable or disable the entire SME feature, and ``sme<N>`` is
423 SME is not supported by KVM at this time.
425 At least one vector length must be enabled when ``sme`` is enabled,
428 additional constraints on the set of vector lengths supported by SME.
430 SME User-mode Default Vector Length Property
[all …]
/openbmc/linux/tools/testing/selftests/arm64/fp/
H A DMakefile13 rdvl-sme rdvl-sve \
30 $(OUTPUT)/rdvl-sme: rdvl-sme.c $(OUTPUT)/rdvl.o
/openbmc/linux/drivers/net/wireless/quantenna/qtnfmac/
H A Dcommands.c2075 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 …]
/openbmc/linux/arch/arm64/kvm/
H A Dfpsimd.c103 * enabled and the guest does not enable SME via in kvm_arch_vcpu_load_fp()
105 * may generate SME traps from EL1 to EL1 which we in kvm_arch_vcpu_load_fp()
148 * Currently we do not support SME guests so SVCR is in kvm_arch_vcpu_ctxsync_fp()
183 * the default value and we need to reenable SME. in kvm_arch_vcpu_put_fp()
/openbmc/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 …]
/openbmc/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()
/openbmc/qemu/target/arm/
H A Dcpu64.c321 error_setg(errp, "cannot disable sme%d", vq * 128); in arm_cpu_sme_finalize()
322 error_append_hint(errp, "All SME vector lengths are disabled.\n"); in arm_cpu_sme_finalize()
323 error_append_hint(errp, "With SME enabled, at least one " in arm_cpu_sme_finalize()
330 error_setg(errp, "cannot enable sme%d", vq * 128); in arm_cpu_sme_finalize()
331 error_append_hint(errp, "SME must be enabled to enable " in arm_cpu_sme_finalize()
333 error_append_hint(errp, "Add sme=on to the CPU property list.\n"); in arm_cpu_sme_finalize()
354 t = FIELD_DP64(t, ID_AA64PFR1, SME, value); in cpu_arm_set_sme()
376 /* Mirror linux /proc/sys/abi/{sve,sme}_default_vector_length. */
404 (ptr_default_vq == &cpu->sve_default_vq ? "sve" : "sme"); in cpu_arm_set_default_vec_len()
460 object_property_add_bool(obj, "sme", cpu_arm_get_sme, cpu_arm_set_sme); in aarch64_add_sme_properties()
[all …]
/openbmc/linux/arch/arm64/kernel/
H A Dfpsimd.c137 .name = "SME",
300 * TIF_SME controls whether a task can use SME without trapping while
421 /* Restore SME, override SVE register configuration if needed */ in task_fpsimd_load()
907 * We are changing the SME VL or weren't using in vec_set_vector_length()
908 * SME anyway, discard the state and force a in vec_set_vector_length()
924 * Free the changed states if they are not in use, SME will be in vec_set_vector_length()
947 * SVE and SME use the same bits for _ONEXEC and _INHERIT.
1307 /* Allow SME in kernel */ in sme_kernel_enable()
1342 * Use only if SME is present.
1343 * This function clobbers the SME vector length.
[all …]
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/
H A 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 …]

1234567