| /linux/tools/perf/util/ |
| H A D | arm-spe.c | 3 * Arm Statistical Profiling Extensions (SPE) support 33 #include "arm-spe.h" 34 #include "arm-spe-decoder/arm-spe-decoder.h" 35 #include "arm-spe-decoder/arm-spe-pkt-decoder.h" 106 struct arm_spe *spe; member 137 static void arm_spe_dump(struct arm_spe *spe __maybe_unused, in arm_spe_dump() 147 ". ... ARM SPE data: size %#zx bytes\n", in arm_spe_dump() 176 static void arm_spe_dump_event(struct arm_spe *spe, unsigned char *buf, in arm_spe_dump_event() argument 180 arm_spe_dump(spe, buf, len); in arm_spe_dump_event() 190 queue = &speq->spe->queues.queue_array[speq->queue_nr]; in arm_spe_get_trace() [all …]
|
| /linux/tools/perf/tests/shell/ |
| H A D | test_arm_spe.sh | 2 # Check Arm SPE trace data recording and synthesized samples (exclusive) 4 # Uses the 'perf record' to record trace data of Arm SPE events; 5 # then verify if any SPE event samples are generated by SPE with 46 # from arm-spe.c/arm_spe_synth_events() 88 arm_spe_report "SPE snapshot testing" $err 96 arm_spe_report "SPE system-wide testing" 2 107 arm_spe_report "SPE system-wide testing" $err 111 echo "SPE discard mode" 121 arm_spe_report "SPE discard mode not present" 2 125 # Test can use wildcard SPE instance and Perf will only open the event [all …]
|
| H A D | test_arm_spe_fork.sh | 2 # Check Arm SPE doesn't hang when there are forks 44 echo "SPE hang test: FAIL" 47 echo "SPE hang test: PASS"
|
| /linux/tools/perf/Documentation/ |
| H A D | perf-arm-spe.txt | 1 perf-arm-spe(1) 6 perf-arm-spe - Support for Arm Statistical Profiling Extension within Perf tools 16 The SPE (Statistical Profiling Extension) feature provides accurate attribution of latencies and 32 This is chosen from a sample population, for SPE this is an IMPLEMENTATION DEFINED choice of all 34 architecture provides a mechanism for the SPE driver to infer the minimum interval at which it shou… 64 Up until this point no decoding of the SPE data was done by either the kernel or Perf. Only when the 67 recording. These samples are the same as if normal sampling was done by Perf without using SPE, 69 just the instruction pointer, but an SPE sample can have data addresses and latency attributes. 84 However, SPE does not provide any call-graph information, and relies on statistical methods. 123 The SPE interrupt must also be described by the firmware. If the module is loaded and KPTI is [all …]
|
| H A D | perf-mem.txt | 26 On Arm64 this uses SPE to sample load and store operations, therefore hardware 27 and kernel support is required. See linkperf:perf-arm-spe[1] for a setup guide. 28 Due to the statistical nature of SPE sampling, not every memory operation will 211 linkperf:perf-record[1], linkperf:perf-report[1], linkperf:perf-arm-spe[1]
|
| /linux/arch/powerpc/boot/dts/ |
| H A D | icon.dts | 33 model = "PowerPC,440SPe"; 53 compatible = "ibm,uic-440spe","ibm,uic"; 63 compatible = "ibm,uic-440spe","ibm,uic"; 75 compatible = "ibm,uic-440spe","ibm,uic"; 87 compatible = "ibm,uic-440spe","ibm,uic"; 99 compatible = "ibm,sdr-440spe"; 104 compatible = "ibm,cpr-440spe"; 109 compatible = "ibm,mq-440spe"; 114 compatible = "ibm,plb-440spe", "ibm,plb-440gp", "ibm,plb4"; 131 compatible = "ibm,sdram-440spe", "ibm,sdram-405gp"; [all …]
|
| H A D | katmai.dts | 37 model = "PowerPC,440SPe"; 57 compatible = "ibm,uic-440spe","ibm,uic"; 67 compatible = "ibm,uic-440spe","ibm,uic"; 79 compatible = "ibm,uic-440spe","ibm,uic"; 91 compatible = "ibm,uic-440spe","ibm,uic"; 103 compatible = "ibm,sdr-440spe"; 108 compatible = "ibm,cpr-440spe"; 113 compatible = "ibm,mq-440spe"; 118 compatible = "ibm,plb-440spe", "ibm,plb-440gp", "ibm,plb4"; 135 compatible = "ibm,sdram-440spe", "ibm,sdram-405gp"; [all …]
|
| /linux/arch/powerpc/crypto/ |
| H A D | Makefile | 8 obj-$(CONFIG_CRYPTO_AES_PPC_SPE) += aes-ppc-spe.o 12 aes-ppc-spe-y := aes-spe-core.o aes-spe-keys.o aes-tab-4k.o aes-spe-modes.o aes-spe-glue.o
|
| H A D | Kconfig | 6 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)" 7 depends on SPE 14 - SPE (Signal Processing Engine) extensions 16 SPE is available for:
|
| H A D | aes-spe-glue.c | 3 * Glue code for AES implementation for SPE instructions (PPC) 6 * about the SPE registers so it can run from interrupt context. 80 /* disable preemption and save users SPE registers if required */ in spe_begin() 415 .cra_driver_name = "aes-ppc-spe", 436 .base.cra_driver_name = "ecb-ppc-spe", 448 .base.cra_driver_name = "cbc-ppc-spe", 461 .base.cra_driver_name = "ctr-ppc-spe", 475 .base.cra_driver_name = "xts-ppc-spe", 515 MODULE_DESCRIPTION("AES-ECB/CBC/CTR/XTS, SPE optimized"); 522 MODULE_ALIAS_CRYPTO("aes-ppc-spe");
|
| /linux/Documentation/devicetree/bindings/perf/ |
| H A D | spe-pmu.yaml | 4 $id: http://devicetree.org/schemas/perf/spe-pmu.yaml# 7 title: ARMv8.2 Statistical Profiling Extension (SPE) Performance Monitor Units (PMU) 23 The PPI to signal SPE events. For heterogeneous systems where SPE is only 37 spe-pmu {
|
| /linux/Documentation/devicetree/bindings/powerpc/4xx/ |
| H A D | ppc440spe-adma.txt | 15 - compatible : "ibm,i2o-440spe"; 22 compatible = "ibm,i2o-440spe"; 32 - compatible : "ibm,dma-440spe"; 45 compatible = "ibm,dma-440spe"; 82 - compatible : "ibm,mq-440spe"; 88 compatible = "ibm,mq-440spe";
|
| /linux/lib/crypto/powerpc/ |
| H A D | sha256.h | 3 * SHA-256 Secure Hash Algorithm, SPE optimized 6 * about the SPE registers so it can run from interrupt context. 31 /* We just start SPE operations and will save SPE registers later. */ in spe_begin()
|
| H A D | sha1.h | 29 /* We just start SPE operations and will save SPE registers later. */ in spe_begin()
|
| /linux/tools/perf/arch/arm64/util/ |
| H A D | mem-events.c | 9 …E("spe-load", "%s/ts_enable=1,pa_enable=1,load_filter=1,store_filter=0,min_latency=%u/", NULL, tru… 10 E("spe-store", "%s/ts_enable=1,pa_enable=1,load_filter=0,store_filter=1/", NULL, false, 0), 11 …E("spe-ldst", "%s/ts_enable=1,pa_enable=1,load_filter=1,store_filter=1,min_latency=%u/", NULL, tru…
|
| H A D | arm-spe.c | 3 * Arm Statistical Profiling Extensions (SPE) support 28 #include "../../../util/arm-spe.h" 117 /* Find the associate Arm SPE PMU for the CPU */ in arm_spe_save_cpu_header() 122 /* No Arm SPE PMU is found */ in arm_spe_save_cpu_header() 281 * Set this only so that perf report knows that SPE generates memory info. It has no effect in arm_spe_setup_evsel() 282 * on the opening of the event or the SPE data produced. in arm_spe_setup_evsel() 288 * inform that the resulting output's SPE samples contain physical addresses in arm_spe_setup_evsel() 350 pr_err("Invalid mmap size for ARM SPE: must be at least %zuKiB and a power of 2\n", in arm_spe_setup_aux_buffer() 414 pr_err("Arm SPE: Frequency is not supported. " in arm_spe_recording_options()
|
| /linux/arch/powerpc/include/asm/ |
| H A D | dcr-regs.h | 28 /* CPRs (440GX and 440SP/440SPe) */ 32 /* SDRs (440GX and 440SP/440SPe) */ 162 * DCR register offsets for 440SP/440SPe I2O/DMA controller. 169 /* 440SP/440SPe Software Reset DCR */ 173 /* 440SP/440SPe Memory Queue DCR offsets */
|
| /linux/arch/powerpc/platforms/ |
| H A D | Kconfig.cputype | 392 config SPE config 393 bool "SPE Support" 398 Extensions (SPE) to the PowerPC processor. The kernel currently 399 supports saving and restoring SPE registers, and turning on the 400 'spe enable' bit so user processes can execute SPE instructions. 403 SPE (e500, otherwise known as 85xx series), but does not have any 404 effect on a non-spe cpu (it does, however add code to the kernel).
|
| /linux/tools/perf/util/arm-spe-decoder/ |
| H A D | Build | 1 perf-util-y += arm-spe-pkt-decoder.o arm-spe-decoder.o
|
| /linux/arch/powerpc/boot/dts/fsl/ |
| H A D | e500v2_power_isa.dtsi | 47 power-isa-sp.fd; // SPE.Embedded Float Scalar Double 48 power-isa-sp.fs; // SPE.Embedded Float Scalar Single 49 power-isa-sp.fv; // SPE.Embedded Float Vector
|
| /linux/arch/powerpc/kernel/ |
| H A D | head_85xx.S | 613 /* Define SPE handlers for e500v2 */ 615 /* SPE Unavailable */ 628 /* SPE Floating Point Data */ 637 /* SPE Floating Point Round */ 818 /* Note that the SPE support is closely modeled after the AltiVec 823 * Disable SPE for the task which had SPE previously, 824 * and save its SPE registers in its thread_struct. 825 * Enables SPE for use in the kernel on return. 826 * On SMP we know the SPE units are free, since we give it up every 831 mtmsr r5 /* enable use of SPE now */ [all …]
|
| H A D | cpu_specs_44x.h | 187 { /* 440SPe Rev. A */ 190 .cpu_name = "440SPe Rev. A", 200 { /* 440SPe Rev. B */ 203 .cpu_name = "440SPe Rev. B",
|
| /linux/sound/soc/sdca/ |
| H A D | sdca_functions.c | 348 case SDCA_CTL_TYPE_S(SPE, PRIVATE): in find_sdca_control_label() 350 case SDCA_CTL_TYPE_S(SPE, PRIVACY_POLICY): in find_sdca_control_label() 352 case SDCA_CTL_TYPE_S(SPE, PRIVACY_LOCKSTATE): in find_sdca_control_label() 354 case SDCA_CTL_TYPE_S(SPE, PRIVACY_OWNER): in find_sdca_control_label() 356 case SDCA_CTL_TYPE_S(SPE, AUTHTX_CURRENTOWNER): in find_sdca_control_label() 358 case SDCA_CTL_TYPE_S(SPE, AUTHTX_MESSAGEOFFSET): in find_sdca_control_label() 360 case SDCA_CTL_TYPE_S(SPE, AUTHTX_MESSAGELENGTH): in find_sdca_control_label() 362 case SDCA_CTL_TYPE_S(SPE, AUTHRX_CURRENTOWNER): in find_sdca_control_label() 364 case SDCA_CTL_TYPE_S(SPE, AUTHRX_MESSAGEOFFSET): in find_sdca_control_label() 366 case SDCA_CTL_TYPE_S(SPE, AUTHRX_MESSAGELENGTH): in find_sdca_control_label() [all …]
|
| /linux/drivers/dma/ppc4xx/ |
| H A D | dma.h | 3 * 440SPe's DMA engines support header file 119 * DMAx hardware registers (p.515 in 440SPe UM 1.22) 153 * I2O hardware registers (p.528 in 440SPe UM 1.22)
|
| /linux/arch/powerpc/platforms/44x/ |
| H A D | Kconfig | 71 select 440SPe 218 select 440SPe 273 config 440SPe
|