| /linux/arch/arm64/include/asm/ | 
| H A D | alternative-macros.h | 1 /* SPDX-License-Identifier: GPL-2.0 */9 #include <asm/insn-def.h>
 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      */ \
 38 	" .byte 664f-663f\n"				/* replacement len */
 [all …]
 
 | 
| H A D | percpu.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */10 #include <asm/alternative.h>
 17 	asm volatile(ALTERNATIVE("msr tpidr_el1, %0",  in set_my_cpu_offset()
 26 	 * Non-VHE hyp code runs with preemption disabled. No need to hazard  in __hyp_my_cpu_offset()
 40 	asm(ALTERNATIVE("mrs %0, tpidr_el1",  in __kern_my_cpu_offset()
 78 	"	cbnz	%w[loop], 1b",					\
 99 	"	cbnz	%w[loop], 1b",					\
 112 	__PERCPU_OP_CASE(w, b, name,  8, op_llsc, op_lse)		\
 118 	__PERCPU_RET_OP_CASE(w, b, name,  8, op_llsc, op_lse)		\
 140  * re-enabling preemption for preemptible kernels, but doing that in a way
 [all …]
 
 | 
| /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:
 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
 24  * specific alternative patching.
 27  * alternative should be applied.
 67 			u32 type : 8;  /* type of alternative */
 89  * +---------------------------------+
 92  * +---------------------------------+
 [all …]
 
 | 
| /linux/arch/x86/include/asm/ | 
| H A D | alternative.h | 1 /* SPDX-License-Identifier: GPL-2.0 */24  * Alternative inline assembly for SMP.
 34  * The SMP alternative tables can be kept after boot and contain both
 48 		".long 671f - .\n" /* offset */		\
 93  * Debug flag that can be tested to see whether alternative
 187 #define alt_slen		"772b-771b"
 188 #define alt_total_slen		"773b-771b"
 189 #define alt_rlen		"775f-774f"
 195 	".skip -(((" alt_rlen ")-(" alt_slen ")) > 0) * "		\
 196 		"((" alt_rlen ")-(" alt_slen ")),0x90\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>
 77 #include <asm/asm-offsets.h>
 80 	movq	$-1, PER_CPU_VAR(__x86_call_depth);
 110  * This is required in various cases for retpoline and IBRS-based
 118  * from C via asm(".include <asm/nospec-branch.h>") but let's not go there.
 136  * Google experimented with loop-unrolling and this turned out to be
 137  * the optimal version - two calls, each with their own speculation
 148 	jnz	771b;					\
 [all …]
 
 | 
| H A D | cmpxchg_32.h | 1 /* SPDX-License-Identifier: GPL-2.0 */25 		     : "b" (n.low), "c" (n.high)			\
 52 		     : "b" (n.low), "c" (n.high)			\
 94 		ALTERNATIVE(_lock_loc					\
 98 		: "b" (n.low), "c" (n.high),				\
 124 		ALTERNATIVE(_lock_loc					\
 129 		: "b" (n.low), "c" (n.high),				\
 
 | 
| /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
 37 	altinstruction_entry 140b, 143f, \feature, 142b-140b, 144f-143f
 47 #define old_len			(141b-140b)
 48 #define new_len1		(144f-143f)
 49 #define new_len2		(145f-144f)
 [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 | errata_list.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */9 #include <asm/insn-def.h>
 18 ALTERNATIVE(__stringify(RISCV_PTR do_trap_insn_fault),			\
 24 ALTERNATIVE(__stringify(RISCV_PTR do_page_fault),			\
 31 asm(ALTERNATIVE("sfence.vma x0, %0", "sfence.vma", SIFIVE_VENDOR_ID,	\
 36 asm(ALTERNATIVE("sfence.vma %0", "sfence.vma", SIFIVE_VENDOR_ID,	\
 41 asm(ALTERNATIVE("sfence.vma %0, %1", "sfence.vma", SIFIVE_VENDOR_ID,	\
 46 asm(ALTERNATIVE(	\
 77  * so on T-Head chips, check if no other memory type is set,
 78  * and set the non-0 PMA type if applicable.
 [all …]
 
 | 
| /linux/Documentation/networking/pse-pd/ | 
| H A D | pse-pi.rst | 1 .. SPDX-License-Identifier: GPL-2.09 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 -------------------------------
 31 two pairs of wires, SPE operates on a simpler model due to its single-pair
 32 design. As a result, the complexities of choosing between alternative pin
 33 assignments for power delivery, as described in the PSE PI for multi-pair
 37 --------------------
 [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 …]
 
 | 
| /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 | 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 …]
 
 | 
| 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 …]
 
 | 
| /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)
 45 	ALTERNATIVE_2 "b \lpswe;nopr", \
 [all …]
 
 | 
| /linux/arch/x86/lib/ | 
| H A D | copy_user_64.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */14 #include <asm/alternative.h>
 18  * rep_movs_alternative - memory copy with exception handling.
 55 	_ASM_EXTABLE_UA( 0b, .Lexit)
 56 	_ASM_EXTABLE_UA( 1b, .Lexit)
 70 	_ASM_EXTABLE_UA( 2b, .Lcopy_user_tail)
 71 	_ASM_EXTABLE_UA( 3b, .Lcopy_user_tail)
 74 0:	ALTERNATIVE "jmp .Llarge_movsq", "rep movsb", X86_FEATURE_ERMS
 77 	_ASM_EXTABLE_UA( 0b, 1b)
 84 	_ASM_EXTABLE_UA( 0b, .Lcopy_user_tail)
 [all …]
 
 | 
| 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>
 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>
 127 #include <asm/GEN-for-each-reg.h>
 [all …]
 
 | 
| /linux/arch/riscv/lib/ | 
| H A D | uaccess.S | 4 #include <asm/asm-extable.h>7 #include <asm/alternative-macros.h>
 12 	_asm_extable	100b, \lbl
 17 	ALTERNATIVE("j fallback_scalar_usercopy", "nop", 0, RISCV_ISA_EXT_ZVE32X, CONFIG_RISCV_ISA_V)
 45 …ALTERNATIVE("j fallback_scalar_usercopy_sum_enabled", "nop", 0, RISCV_ISA_EXT_ZVE32X, CONFIG_RISCV…
 65 	 * a0 - start of uncopied dst
 66 	 * a1 - start of uncopied src
 67 	 * a2 - size
 68 	 * t0 - end of uncopied dst
 76 	li	a3, 9*SZREG-1 /* size must >= (word_copy stride + SZREG-1) */
 [all …]
 
 | 
| /linux/arch/loongarch/lib/ | 
| H A D | clear_user.S | 1 /* SPDX-License-Identifier: GPL-2.0 */3  * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
 7 #include <asm/alternative-asm.h>
 10 #include <asm/asm-extable.h>
 19 	ALTERNATIVE	"b __clear_user_generic",	\
 20 			"b __clear_user_fast", CPU_FEATURE_UAL
 34 1:	st.b	zero, a0, 0
 36 	addi.d	a1, a1, -1
 37 	bgtz	a1, 1b
 42 	_asm_extable 1b, 2b
 [all …]
 
 | 
| H A D | memset.S | 1 /* SPDX-License-Identifier: GPL-2.0 */3  * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
 7 #include <asm/alternative-asm.h>
 26 	ALTERNATIVE	"b __memset_generic", \
 27 			"b __memset_fast", CPU_FEATURE_UAL
 48 1:	st.b	a1, a0, 0
 50 	addi.d	a2, a2, -1
 51 	bgt	a2, zero, 1b
 79 	addi.d	a4, a2, -64
 97 	addi.d	a4, a2, -32
 [all …]
 
 | 
| H A D | memcpy.S | 1 /* SPDX-License-Identifier: GPL-2.0 */3  * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
 7 #include <asm/alternative-asm.h>
 20 	ALTERNATIVE	"b __memcpy_generic", \
 21 			"b __memcpy_fast", CPU_FEATURE_UAL
 42 1:	ld.b	t0, a1, 0
 43 	st.b	t0, a0, 0
 46 	addi.d	a2, a2, -1
 47 	bgt	a2, zero, 1b
 65 1:	ld.b	t0, a1, 0
 [all …]
 
 | 
| H A D | memmove.S | 1 /* SPDX-License-Identifier: GPL-2.0 */3  * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
 7 #include <asm/alternative-asm.h>
 32 	ALTERNATIVE	"b __rmemcpy_generic", \
 33 			"b __rmemcpy_fast", CPU_FEATURE_UAL
 51 1:	ld.b	t0, a1, -1
 52 	st.b	t0, a0, -1
 53 	addi.d	a0, a0, -1
 54 	addi.d	a1, a1, -1
 55 	addi.d	a2, a2, -1
 [all …]
 
 | 
| H A D | copy_user.S | 1 /* SPDX-License-Identifier: GPL-2.0 */3  * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
 7 #include <asm/alternative-asm.h>
 10 #include <asm/asm-extable.h>
 19 	ALTERNATIVE	"b __copy_user_generic",	\
 20 			"b __copy_user_fast", CPU_FEATURE_UAL
 35 1:	ld.b	t0, a1, 0
 36 2:	st.b	t0, a0, 0
 39 	addi.d	a2, a2, -1
 40 	bgtz	a2, 1b
 [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
 39 	".word (0b-4-.)				!"	\
 47 #define ALTERNATIVE(from, to, cond, replacement)\  macro
 50 	.word (from - .)		!	\
 51 	.hword (to - from)/4, cond	!	\
 59 	.word (from - .)		!	\
 [all …]
 
 |