| /linux/arch/s390/include/asm/ |
| H A D | alternative.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 * Each alternative comes with a 32 bit feature field: 16 * @ctx is a bitfield, where only one bit must be set. Each bit defines 17 * in which context an alternative is supposed to be applied to the 20 * - from the decompressor before the kernel itself is executed 21 * - from early kernel code from within the kernel 23 * @type is a number which defines the type and with that the type 24 * specific alternative patching. 27 * alternative should be applied. 67 u32 type : 8; /* type of alternative */ [all …]
|
| H A D | spinlock.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 7 * Derived from "include/asm-i386/spinlock.h" 17 #include <asm/alternative.h> 27 ALTERNATIVE(" ly %[lockval],%[offzero](%%r0)\n", in spinlock_lockval() 33 "m" (((struct lowcore *)0)->spinlock_lockval)); in spinlock_lockval() 47 * We make no fairness assumptions. They have a cost. 71 return READ_ONCE(lp->lock) != 0; in arch_spin_is_locked() 79 return likely(arch_try_cmpxchg(&lp->lock, &old, spinlock_lockval())); in arch_spin_trylock_once() 97 typecheck(int, lp->lock); in arch_spin_unlock() 100 ALTERNATIVE("nop", ".insn rre,0xb2fa0000,7,0", ALT_FACILITY(49)) /* NIAI 7 */ in arch_spin_unlock() [all …]
|
| /linux/arch/x86/include/asm/ |
| H A D | smap.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 14 #include <asm/alternative.h> 19 ALTERNATIVE "", "clac", X86_FEATURE_SMAP 22 ALTERNATIVE "", "stac", X86_FEATURE_SMAP 28 /* Note: a barrier is implicit in alternative() */ in clac() 29 alternative("", "clac", X86_FEATURE_SMAP); in clac() 34 /* Note: a barrier is implicit in alternative() */ in stac() 35 alternative("", "stac", X86_FEATURE_SMAP); in stac() 43 ALTERNATIVE(ANNOTATE_IGNORE_ALTERNATIVE in smap_save() 54 ALTERNATIVE(ANNOTATE_IGNORE_ALTERNATIVE in smap_restore() [all …]
|
| H A D | alternative.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 24 * Alternative inline assembly for SMP. 30 * alternatives and the X86_FEATURE_UP flag to indicate the case of a 31 * UP system running a SMP kernel. The existing apply_alternatives() 32 * works fine for patching a SMP kernel for UP. 34 * The SMP alternative tables can be kept after boot and contain both 36 * SMP at runtime, when hotplugging in a new CPU, which is especially 39 * The very common lock prefix is handled as special case in a 40 * separate table which is a pure address list without replacement ptr 46 ".pushsection .smp_locks,\"a\"\n" \ [all …]
|
| H A D | nospec-branch.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #include <asm/alternative.h> 12 #include <asm/msr-index.h> 20 * The tracking does not use a counter. It uses uses arithmetic shift 35 * After a return buffer fill the depth is credited 12 calls before the 38 * There is a inaccuracy for situations like this: 48 * but there is still a cushion vs. the RSB depth. The algorithm does not 77 #include <asm/asm-offsets.h> 80 movq $-1, PER_CPU_VAR(__x86_call_depth); 107 * Each entry in the RSB, if used for a speculative 'ret', contains an [all …]
|
| /linux/arch/arm64/include/asm/ |
| H A D | alternative-macros.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 9 #include <asm/insn-def.h> 12 * Binutils 2.27.0 can't handle a 'UL' suffix on constants, so for the assembly 27 " .word 661b - .\n" /* label */ \ 28 " .word 663f - .\n" /* new instruction */ \ 30 " .byte 662b-661b\n" /* source len */ \ 31 " .byte 664f-663f\n" /* replacement len */ 34 " .word 661b - .\n" /* label */ \ 35 " .word " __stringify(cb) "- .\n" /* callback */ \ 37 " .byte 662b-661b\n" /* source len */ \ [all …]
|
| H A D | io.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 1996-2000 Russell King 18 #include <asm/alternative.h> 23 * Generic IO read/write. These perform native-endian accesses. 57 asm volatile(ALTERNATIVE("ldrb %w0, [%1]", in __raw_readb() 69 asm volatile(ALTERNATIVE("ldrh %w0, [%1]", in __raw_readw() 80 asm volatile(ALTERNATIVE("ldr %w0, [%1]", in __raw_readl() 91 asm volatile(ALTERNATIVE("ldr %0, [%1]", in __raw_readq() 106 * Create a dummy control dependency from the IO read to any \ 107 * later instructions. This ensures that a subsequent call to \ [all …]
|
| /linux/Documentation/networking/pse-pd/ |
| H A D | pse-pi.rst | 1 .. SPDX-License-Identifier: GPL-2.0 6 The Power Sourcing Equipment Power Interface (PSE PI) plays a pivotal role in 7 the architecture of Power over Ethernet (PoE) systems. It is essentially a 9 eight-pin modular jack, commonly known as the Ethernet RJ45 port. This 14 --------------------------- 19 - Section "33.2.3 PI pin assignments" covers the pin assignments for PoE 21 - Section "145.2.4 PSE PI" addresses the configuration for PoE systems that 25 ------------------------------- 27 Single Pair Ethernet (SPE) represents a different approach to Ethernet 31 two pairs of wires, SPE operates on a simpler model due to its single-pair [all …]
|
| /linux/arch/loongarch/include/asm/ |
| H A D | alternative.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 21 * Debug flag that can be tested to see whether alternative 34 #define alt_slen "662b-661b" 35 #define alt_total_slen alt_end_marker"b-661b" 36 #define alt_rlen(num) e_replacement(num)"f-"b_replacement(num)"f" 40 ".fill -(((" alt_rlen(num) ")-(" alt_slen ")) > 0) * " \ 41 "((" alt_rlen(num) ")-(" alt_slen ")) / 4, 4, 0x03400000\n" 47 #define alt_max_short(a, b) "((" a ") ^ (((" a ") ^ (" b ")) & -(-((" a ") < (" b ")))))" argument 50 * Pad the second replacement alternative with additional NOPs if it is 51 * additionally longer than the first replacement alternative. [all …]
|
| H A D | alternative-asm.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 16 .long \orig - . 17 .long \alt - . 24 * Define an alternative between two instructions. If @feature is 29 .macro ALTERNATIVE oldinstr, newinstr, feature 33 .fill - (((144f-143f)-(141b-140b)) > 0) * ((144f-143f)-(141b-140b)) / 4, 4, 0x03400000 36 .pushsection .altinstructions, "a" 37 altinstruction_entry 140b, 143f, \feature, 142b-140b, 144f-143f 47 #define old_len (141b-140b) 48 #define new_len1 (144f-143f) [all …]
|
| /linux/Documentation/devicetree/bindings/net/pse-pd/ |
| H A D | pse-controller.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/net/pse-pd/pse-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 power over twisted pair/ethernet cable. The ethernet-pse nodes should be 12 used to describe PSE controller and referenced by the ethernet-phy node. 15 - Oleksij Rempel <o.rempel@pengutronix.de> 16 - Kory Maincent <kory.maincent@bootlin.com> 20 pattern: "^ethernet-pse(@.*|-([0-9]|[1-9][0-9]+))?$" 22 "#pse-cells": [all …]
|
| H A D | ti,tps23881.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/net/pse-pd/ti,tps23881.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Kory Maincent <kory.maincent@bootlin.com> 13 - $ref: pse-controller.yaml# 18 - ti,tps23881 26 '#pse-cells': 29 reset-gpios: 37 their pairsets. For 4-pair operation, two channels from the same group [all …]
|
| H A D | microchip,pd692x0.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/net/pse-pd/microchip,pd692x0.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Kory Maincent <kory.maincent@bootlin.com> 13 - $ref: pse-controller.yaml# 18 - microchip,pd69200 19 - microchip,pd69210 20 - microchip,pd69220 25 vdd-supply: [all …]
|
| /linux/arch/riscv/include/asm/ |
| H A D | alternative-macros.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 .4byte \oldptr - . 11 .4byte \newptr - . 19 .pushsection .alternative, "a" 20 ALT_ENTRY 886b, 888f, \vendor_id, \patch_id, 889f - 888f 30 .org . - (889b - 888b) + (887b - 886b) 31 .org . - (887b - 886b) + (889b - 888b) 62 ".4byte ((" oldptr ") - .) \n" \ 63 ".4byte ((" newptr ") - .) \n" \ 70 ".pushsection .alternative, \"a\"\n" \ [all …]
|
| H A D | bitops.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 19 #include <asm-generic/bitops/__ffs.h> 20 #include <asm-generic/bitops/__fls.h> 21 #include <asm-generic/bitops/ffs.h> 22 #include <asm-generic/bitops/fls.h> 30 #include <asm-generic/bitops/__ffs.h> 31 #include <asm-generic/bitops/__fls.h> 32 #include <asm-generic/bitops/ffs.h> 33 #include <asm-generic/bitops/fls.h> 35 #include <asm/alternative-macros.h> [all …]
|
| /linux/arch/x86/entry/ |
| H A D | calling.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 7 #include <asm/asm-offsets.h> 8 #include <asm/processor-flags.h> 9 #include <asm/ptrace-abi.h> 11 #include <asm/nospec-branch.h> 15 x86 function call convention, 64-bit: 16 ------------------------------------- 17 arguments | callee-saved | extra caller-saved | return 18 [callee-clobbered] | | [callee-clobbered] | 19 --------------------------------------------------------------------------- [all …]
|
| /linux/arch/parisc/include/asm/ |
| H A D | alternative.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 7 #define ALT_COND_NO_DCACHE 0x02 /* if system has no d-cache */ 8 #define ALT_COND_NO_ICACHE 0x04 /* if system has no i-cache */ 35 /* Alternative SMP implementation. */ 36 #define ALTERNATIVE(cond, replacement) "!0:" \ macro 37 ".section .altinstructions, \"a\" !" \ 39 ".word (0b-4-.) !" \ 46 /* to replace one single instructions by a new instruction */ 47 #define ALTERNATIVE(from, to, cond, replacement)\ macro 48 .section .altinstructions, "a" ! \ [all …]
|
| /linux/arch/s390/kernel/ |
| H A D | entry.S | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * S390 low-level entry points. 14 #include <asm/asm-extable.h> 15 #include <asm/alternative.h> 22 #include <asm/asm-offsets.h> 27 #include <asm/fpu-insn.h> 30 #include <asm/nospec-insn.h> 37 ALTERNATIVE "nop", ".insn s,0xb2010000,\address", ALT_FACILITY(193) 41 ALTERNATIVE "nop", ".insn s,0xb2000000,\address", ALT_FACILITY(193) 52 ALTERNATIVE "brcl 0,0", __stringify(mvc __PT_LAST_BREAK(8,\reg),__LC_LAST_BREAK(\lowcore)),\ [all …]
|
| /linux/arch/parisc/kernel/ |
| H A D | pacache.S | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 4 * Copyright (C) 2000-2001 Hewlett-Packard (John Marvin) 5 * Copyright (C) 2001 Matthew Wilcox (willy at parisc-linux.org) 6 * Copyright (C) 2002 Richard Hirst (rhirst with parisc-linux.org) 26 #include <asm/alternative.h> 42 /* pcxt_ssm_bug - relied upon translation! PA 2.0 Arch. F-4 and F-5 */ 43 rsm PSW_SM_I, %r19 /* save I-bit state */ 74 addib,COND(=) -1, %arg3, fitoneloop /* Preadjust and test */ 84 addib,COND(>) -1, %r31, fitmanymiddle /* Adjusted inner loop decr */ 87 addib,COND(>) -1, %r29, fitmanymiddle /* Middle loop decr */ [all …]
|
| H A D | alternative.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Alternative live-patching for parisc. 10 #include <asm/alternative.h> 21 __setup("no-alternatives", setup_no_alternatives); 38 * If the PDC_MODEL capabilities has Non-coherent IO-PDIR bit in apply_alternatives() 40 * time IO-PDIR is changed in Ike/Astro. in apply_alternatives() 52 from = (u32 *)((ulong)&entry->orig_offset + entry->orig_offset); in apply_alternatives() 53 len = entry->len; in apply_alternatives() 54 cond = entry->cond; in apply_alternatives() 55 replacement = entry->replacement; in apply_alternatives() [all …]
|
| /linux/arch/riscv/kernel/ |
| H A D | alternative.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * alternative runtime patching 13 #include <asm/alternative.h> 21 #include <asm/text-patching.h> 35 cpu_mfr_info->vendor_id = csr_read(CSR_MVENDORID); in riscv_fill_cpu_mfr_info() 36 cpu_mfr_info->arch_id = csr_read(CSR_MARCHID); in riscv_fill_cpu_mfr_info() 37 cpu_mfr_info->imp_id = csr_read(CSR_MIMPID); in riscv_fill_cpu_mfr_info() 39 cpu_mfr_info->vendor_id = sbi_get_mvendorid(); in riscv_fill_cpu_mfr_info() 40 cpu_mfr_info->arch_id = sbi_get_marchid(); in riscv_fill_cpu_mfr_info() 41 cpu_mfr_info->imp_id = sbi_get_mimpid(); in riscv_fill_cpu_mfr_info() [all …]
|
| /linux/arch/x86/lib/ |
| H A D | retpoline.S | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 #include <asm/alternative.h> 9 #include <asm/asm-offsets.h> 10 #include <asm/nospec-branch.h> 53 * Worse, you can only have a single EXPORT_SYMBOL per line, 64 #include <asm/GEN-for-each-reg.h> 71 #include <asm/GEN-for-each-reg.h> 94 #include <asm/GEN-for-each-reg.h> 101 #include <asm/GEN-for-each-reg.h> 120 #include <asm/GEN-for-each-reg.h> [all …]
|
| /linux/arch/loongarch/kernel/ |
| H A D | alternative.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 #include <asm/alternative.h> 14 #define MAX_PATCH_SIZE (((u8)(-1)) / LOONGARCH_INSN_SIZE) 23 __setup("debug-alternative", debug_alt); 41 for (_j = 0; _j < count - 1; _j++) \ 47 /* Use this to add nops to a buffer, then text_poke the whole buffer. */ 50 while (count--) { in add_nops() 51 insn->word = INSN_NOP; in add_nops() 73 si_l = src->reg0i26_format.immediate_l; in recompute_jump() 74 si_h = src->reg0i26_format.immediate_h; in recompute_jump() [all …]
|
| /linux/tools/arch/x86/lib/ |
| H A D | memset_64.S | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 #include <asm/alternative.h> 13 * ISO C memset - set a memory block to a byte value. This function uses fast 23 * The FSRS alternative should be done inline (avoiding the call and 33 ALTERNATIVE "jmp memset_orig", "", X86_FEATURE_FSRS
|
| /linux/include/linux/pse-pd/ |
| H A D | pse.h | 1 // SPDX-License-Identifier: GPL-2.0-only 15 /* Maximum current in uA according to IEEE 802.3-2022 Table 145-1 */ 17 /* Maximum power in mW according to IEEE 802.3-2022 Table 145-16 */ 46 * struct pse_irq_desc - notification sender description for IRQ based events. 59 * struct pse_control_config - PSE control/channel configuration. 62 * IEEE 802.3-2018 30.15.1.2.1 acPoDLPSEAdminControl 64 * IEEE 802.3-2022 30.9.1.2.1 acPSEAdminControl 72 * struct pse_admin_state - PSE operational state 75 * functions. IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState 77 * functions. IEEE 802.3-2022 30.9.1.1.2 aPSEAdminState [all …]
|