/linux/arch/x86/kernel/cpu/ |
H A D | cacheinfo.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * Venkatesh Pallipadi : Adding cache identification through cpuid(4) 33 #define LVL_3 4 60 { 0x06, LVL_1_INST, 8 }, /* 4-way set assoc, 32 byte line size */ 61 { 0x08, LVL_1_INST, 16 }, /* 4-way set assoc, 32 byte line size */ 62 { 0x09, LVL_1_INST, 32 }, /* 4-way set assoc, 64 byte line size */ 63 { 0x0a, LVL_1_DATA, 8 }, /* 2 way set assoc, 32 byte line size */ 64 { 0x0c, LVL_1_DATA, 16 }, /* 4-way set assoc, 32 byte line size */ 65 { 0x0d, LVL_1_DATA, 16 }, /* 4-way set assoc, 64 byte line size */ 66 { 0x0e, LVL_1_DATA, 24 }, /* 6-way set assoc, 64 byte line size */ [all …]
|
H A D | intel.c | 1 // SPDX-License-Identifier: GPL-2.0 18 #include <asm/intel-family.h> 39 * Processors which have self-snooping capability can handle conflicting 47 switch (c->x86_vfm) { in check_memory_type_self_snoop_errata() 79 if (c->x86 != 6) in probe_xeon_phi_r3mwait() 81 switch (c->x86_vfm) { in probe_xeon_phi_r3mwait() 103 * - https://newsroom.intel.com/wp-content/uploads/sites/11/2018/03/microcode-update-guidance.pdf 104 * - https://kb.vmware.com/s/article/52345 105 * - Microcode revisions observed in the wild 106 * - Release note from 20180108 microcode release [all …]
|
/linux/arch/xtensa/include/asm/ |
H A D | tlbflush.h | 6 * Copyright (C) 2001 - 2013 Tensilica Inc. 17 #define ITLB_ARF_WAYS 4 18 #define DTLB_ARF_WAYS 4 21 #define DTLB_HIT_BIT 4 27 * - flush_tlb_all() flushes all processes TLB entries 28 * - flush_tlb_mm(mm) flushes the specified mm context TLB entries 29 * - flush_tlb_page(vma, page) flushes a single page 30 * - flush_tlb_range(vma, vmaddr, end) flushes a range of pages 130 static inline void write_dtlb_entry (pte_t entry, int way) in write_dtlb_entry() argument 133 : : "r" (way), "r" (entry) ); in write_dtlb_entry() [all …]
|
/linux/arch/arm/boot/dts/broadcom/ |
H A D | bcm2837.dtsi | 2 #include "bcm2835-common.dtsi" 10 dma-ranges = <0xc0000000 0x00000000 0x3f000000>; 12 local_intc: interrupt-controller@40000000 { 13 compatible = "brcm,bcm2836-l1-intc"; 15 interrupt-controller; 16 #interrupt-cells = <2>; 17 interrupt-parent = <&local_intc>; 21 arm-pmu { 22 compatible = "arm,cortex-a53-pmu"; 23 interrupt-parent = <&local_intc>; [all …]
|
H A D | bcm2836.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 #include "bcm2835-common.dtsi" 11 dma-ranges = <0xc0000000 0x00000000 0x3f000000>; 13 local_intc: interrupt-controller@40000000 { 14 compatible = "brcm,bcm2836-l1-intc"; 16 interrupt-controller; 17 #interrupt-cells = <2>; 18 interrupt-parent = <&local_intc>; 22 arm-pmu { 23 compatible = "arm,cortex-a7-pmu"; [all …]
|
/linux/arch/arc/mm/ |
H A D | tlb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) 26 * Utility Routine to erase a J-TLB entry 89 * with existing location. This will cause Write CMD to over-write in tlb_entry_insert() 131 * Un-conditionally (without lookup) erase the entire MMU contents 139 int num_tlb = mmu->sets * mmu->ways; in local_flush_tlb_all() 175 * Flush the entire MM for userland. The fastest way is to move to Next ASID 185 if (atomic_read(&mm->mm_users) == 0) in local_flush_tlb_mm() 189 * - Move to a new ASID, but only if the mm is still wired in in local_flush_tlb_mm() 190 * (Android Binder ended up calling this for vma->mm != tsk->mm, in local_flush_tlb_mm() [all …]
|
/linux/arch/arm64/boot/dts/broadcom/ |
H A D | bcm2712.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 #address-cells = <2>; 8 #size-cells = <2>; 10 interrupt-parent = <&gicv2>; 14 clk_osc: clk-osc { 15 compatible = "fixed-clock"; 16 #clock-cells = <0>; 17 clock-output-names = "osc"; 18 clock-frequency = <54000000>; [all …]
|
/linux/arch/mips/mm/ |
H A D | cerr-sb1.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 17 * that unsafe... So for now we don't. (BCM1250/BCM112x erratum SOC-48.) 73 printk(" multiple-buserr"); in breakout_errctl() 80 printk(" tag-parity"); in breakout_cerri() 82 printk(" data-parity"); in breakout_cerri() 114 printk(" multi-err"); in breakout_cerrd() 116 printk(" tag-state"); in breakout_cerrd() 118 printk(" tag-address"); in breakout_cerrd() 120 printk(" data-SBE"); in breakout_cerrd() 122 printk(" data-DBE"); in breakout_cerrd() [all …]
|
H A D | c-r4k.c | 22 #include <linux/dma-map-ops.h> /* for dma_default_coherent */ 29 #include <asm/cpu-features.h> 30 #include <asm/cpu-type.h> 38 #include <asm/mips-cps.h> 43 * R4K_HIT - Virtual user or kernel address based cache operations. The 46 * R4K_INDEX - Index based cache operations. 53 * r4k_op_needs_ipi() - Decide if a cache op needs to be done on every core. 68 /* The MIPS Coherence Manager (CM) globalizes address-based cache ops */ in r4k_op_needs_ipi() 74 * be needed, but only if there are foreign CPUs (non-siblings with in r4k_op_needs_ipi() 388 * is not cached in the S-cache, we know it also won't be in local_r4k___flush_cache_all() [all …]
|
/linux/arch/powerpc/mm/nohash/ |
H A D | tlb_low.S | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * This file contains low-level functions for performing various 7 * This file implements the following functions for all no-hash 11 * - tlbil_va 12 * - tlbil_pid 13 * - tlbil_all 14 * - tlbivax_bcast 18 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 29 #include <asm/asm-offsets.h> 32 #include <asm/asm-compat.h> [all …]
|
/linux/arch/powerpc/platforms/powernv/ |
H A D | subcore.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 32 * A core can be in one of three states, unsplit, 2-way split, and 4-way split. 37 * ------------|------------------ 39 * 2-way split | 2 40 * 4-way split | 4 46 * ---------------------------- 48 * ---------------------------- 49 * Thread | 0 1 2 3 4 5 6 7 | 50 * ---------------------------- 52 * 2-way split: [all …]
|
/linux/arch/openrisc/include/asm/ |
H A D | spr_defs.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 10 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> 19 /* Definition of special-purpose registers (SPRs). */ 31 #define SPRGROUP_IC (4 << MAX_SPRS_PER_GRP_BITS) 45 #define SPR_IMMUCFGR (SPRGROUP_SYS + 4) 72 #define SPR_DTLBMR_BASE(WAY) (SPRGROUP_DMMU + 0x200 + (WAY) * 0x100) argument 73 #define SPR_DTLBMR_LAST(WAY) (SPRGROUP_DMMU + 0x27f + (WAY) * 0x100) argument 74 #define SPR_DTLBTR_BASE(WAY) (SPRGROUP_DMMU + 0x280 + (WAY) * 0x100) argument 75 #define SPR_DTLBTR_LAST(WAY) (SPRGROUP_DMMU + 0x2ff + (WAY) * 0x100) argument 80 #define SPR_ITLBMR_BASE(WAY) (SPRGROUP_IMMU + 0x200 + (WAY) * 0x100) argument [all …]
|
/linux/arch/x86/crypto/ |
H A D | blowfish-x86_64-asm_64.S | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 10 .file "blowfish-x86_64-asm.S" 15 #define s0 ((16 + 2) * 4) 16 #define s1 ((16 + 2 + (1 * 256)) * 4) 17 #define s2 ((16 + 2 + (2 * 256)) * 4) 18 #define s3 ((16 + 2 + (3 * 256)) * 4) 57 * 1-way blowfish 64 movl s0(CTX,RT0,4), RT0d; \ 65 addl s1(CTX,RT1,4), RT0d; \ 69 xorl s2(CTX,RT1,4), RT0d; \ [all …]
|
H A D | twofish_glue_3way.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Glue Code for 3-way parallel assembler optimized version of Twofish 25 return twofish_setkey(&tfm->base, key, keylen); in twofish_setkey_skcipher() 48 ECB_WALK_START(req, TF_BLOCK_SIZE, -1); in ecb_encrypt() 56 ECB_WALK_START(req, TF_BLOCK_SIZE, -1); in ecb_decrypt() 64 CBC_WALK_START(req, TF_BLOCK_SIZE, -1); in cbc_encrypt() 71 CBC_WALK_START(req, TF_BLOCK_SIZE, -1); in cbc_decrypt() 80 .base.cra_driver_name = "ecb-twofish-3way", 92 .base.cra_driver_name = "cbc-twofish-3way", 116 * On Atom, twofish-3way is slower than original assembler in is_blacklisted_cpu() [all …]
|
/linux/arch/mips/kernel/ |
H A D | bmips_5xxx_init.S | 7 * Copyright (C) 2011-2012 by Broadcom Corporation 34 addiu t1, t1, -1 ; \ 74 #define CP0_BRCM_MODE_ClkRATIO_MASK (7 << 4) 85 #define BRCM_ZSC_RBUS_ADDR_MAPPING_REG0 4 << 3 112 * Description: compute the I-cache size and I-cache line size 126 * Determine sets per way: IS 128 * This field contains the number of sets (i.e., indices) per way of 131 * vi) 0x5 - 0x7: Reserved. 137 /* sets per way = (64<<IS) */ 146 * i) 0x0: No I-cache present, i) 0x3: 16 bytes, ii) 0x4: 32 bytes, iii) [all …]
|
/linux/arch/arm/mm/ |
H A D | cache-v7.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * linux/arch/arm/mm/cache-v7.S 16 #include <asm/hardware/cache-b15-rac.h> 18 #include "proc-macros.S" 20 .arch armv7-a 52 mov r3, r3, lsl r1 @ NumWays-1 shifted into bits [31:...] 54 moveq r1, #1 @ r1 needs value > 0 even if only 1 way 57 add r2, r2, #4 @ SetShift 65 subs r0, r0, #1 @ Set-- 67 subs r3, r3, r1 @ Way-- [all …]
|
H A D | cache-v7m.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * linux/arch/arm/mm/cache-v7m.S 5 * Based on linux/arch/arm/mm/cache-v7.S 20 #include "proc-macros.S" 22 .arch armv7-m 51 * dcisw: Invalidate data cache by set/way 58 * dccisw: Clean and invalidate data cache by set/way 132 and r3, r1, r0, lsr #3 @ NumWays - 1 136 add r0, r0, #4 @ SetShift 140 1: sub r2, r2, #1 @ NumSets-- [all …]
|
H A D | proc-arm940.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 2004-2006 Hyok S. Choi (hyok.choi@samsung.com) 13 #include <asm/pgtable-hwdef.h> 15 #include "proc-macros.S" 17 /* ARM940T has a 4KB DCache comprising 256 lines of 4 words */ 19 #define CACHE_DSEGMENTS 4 42 bic r0, r0, #0x00001000 @ i-cache 43 bic r0, r0, #0x00000004 @ d-cache 58 mcr p15, 0, ip, c7, c10, 4 @ drain WB 61 bic ip, ip, #0x00001000 @ i-cache [all …]
|
/linux/arch/sh/mm/ |
H A D | cache-sh2.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * arch/sh/mm/cache-sh2.c 23 begin = (unsigned long)start & ~(L1_CACHE_BYTES-1); in sh2__flush_wback_region() 24 end = ((unsigned long)start + size + L1_CACHE_BYTES-1) in sh2__flush_wback_region() 25 & ~(L1_CACHE_BYTES-1); in sh2__flush_wback_region() 28 int way; in sh2__flush_wback_region() local 29 for (way = 0; way < 4; way++) { in sh2__flush_wback_region() 30 unsigned long data = __raw_readl(addr | (way << 12)); in sh2__flush_wback_region() 33 __raw_writel(data, addr | (way << 12)); in sh2__flush_wback_region() 44 begin = (unsigned long)start & ~(L1_CACHE_BYTES-1); in sh2__flush_purge_region() [all …]
|
/linux/Documentation/admin-guide/ |
H A D | devices.txt | 1 0 Unnamed devices (e.g. non-device mounts) 7 2 = /dev/kmem OBSOLETE - replaced by /proc/kcore 9 4 = /dev/port I/O port access 11 6 = /dev/core OBSOLETE - replaced by /proc/kcore 18 12 = /dev/oldmem OBSOLETE - replaced by /proc/vmcore 31 2 char Pseudo-TTY masters 37 Pseudo-tty's are named as follows: 40 the 1st through 16th series of 16 pseudo-ttys each, and 44 These are the old-style (BSD) PTY devices; Unix98 61 4 = /dev/fd?d360 5.25" 360K in a 360K drive(1) [all …]
|
/linux/arch/mips/include/asm/octeon/ |
H A D | cvmx-l2c.h | 7 * Copyright (c) 2003-2017 Cavium, Inc. 14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 44 #define CVMX_L2C_IDX_MASK (cvmx_l2c_get_num_sets() - 1) 52 /* Number of L2C Tag-and-data sections (TADs) that are connected to LMC. */ 74 CVMX_L2C_EVENT_DATA_HIT = 4, 133 CVMX_L2C_TAD_EVENT_TAG_VICTIM = 4, 183 * Return the L2 Cache way partitioning for a given core. 189 * -1 on error 199 * a way, while a 1 bit blocks the core from evicting any [all …]
|
/linux/arch/sparc/mm/ |
H A D | leon_mm.c | 1 // SPDX-License-Identifier: GPL-2.0 32 return (retval & SRMMU_CTX_PMASK) << 4; in leon_get_ctable_ptr() 65 printk(KERN_INFO "swprobe: --- ctx (%x) ---\n", ctx); in leon_swprobe() 67 pgd = LEON_BYPASS_LOAD_PA(ctxtbl + (ctx * 4)); in leon_swprobe() 83 printk(KERN_INFO "swprobe: --- pgd (%x) ---\n", pgd); in leon_swprobe() 85 ptr = (pgd & SRMMU_PTD_PMASK) << 4; in leon_swprobe() 86 ptr += ((((vaddr) >> LEON_PGD_SH) & LEON_PGD_M) * 4); in leon_swprobe() 105 printk(KERN_INFO "swprobe: --- pmd (%x) ---\n", pmd); in leon_swprobe() 107 ptr = (pmd & SRMMU_PTD_PMASK) << 4; in leon_swprobe() 108 ptr += (((vaddr >> LEON_PMD_SH) & LEON_PMD_M) * 4); in leon_swprobe() [all …]
|
/linux/tools/testing/selftests/net/forwarding/ |
H A D | README | 9 (dev->netns_local) and most of them probably do not support the 10 L1-separation provided by namespaces. 17 vrf-h1 | vrf-h2 18 + +---+----+ + 24 +--------+ +--------+ 37 between 4-ports LAGs or 8-way ECMP requires many physical links that are 38 not always available. With the VRF-based approach one merely needs to 65 various ways. A number of these variables can be overridden. The way these 75 One way of overriding these variables is through the environment: 80 way to pass it through the environment. Its value can instead be given as [all …]
|
/linux/Documentation/devicetree/bindings/mux/ |
H A D | mux-controller.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mux/mux-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Peter Rosin <peda@axentia.se> 20 space is a simple zero-based enumeration. I.e. 0-1 for a 2-way multiplexer, 21 0-7 for an 8-way multiplexer, etc. 25 -------------------- 28 specifier using the '#mux-control-cells' or '#mux-state-cells' property. 29 The value of '#mux-state-cells' will always be one greater than the value [all …]
|
/linux/Documentation/networking/ |
H A D | nexthop-group-resilient.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Resilient Next-hop Groups 7 Resilient groups are a type of next-hop group that is aimed at minimizing 12 the legacy multipath next-hop group, which uses the hash-threshold 15 To select a next hop, hash-threshold algorithm first assigns a range of 22 +-------+-------+-------+-------+-------+ 23 | 1 | 2 | 3 | 4 | 5 | 24 +-------+-+-----+---+---+-----+-+-------+ 25 | 1 | 2 | 4 | 5 | 26 +---------+---------+---------+---------+ [all …]
|