/linux-6.14.4/arch/arm64/include/asm/ |
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 …]
|
/linux-6.14.4/arch/s390/include/asm/ |
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. 66 u32 type : 8; /* type of alternative */ 88 * +---------------------------------+ 91 * +---------------------------------+ [all …]
|
/linux-6.14.4/arch/x86/include/asm/ |
D | alternative.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 23 * Alternative inline assembly for SMP. 33 * The SMP alternative tables can be kept after boot and contain both 47 ".long 671f - .\n" /* offset */ \ 86 * Debug flag that can be tested to see whether alternative 150 #define alt_slen "772b-771b" 151 #define alt_total_slen "773b-771b" 152 #define alt_rlen "775f-774f" 158 ".skip -(((" alt_rlen ")-(" alt_slen ")) > 0) * " \ 159 "((" alt_rlen ")-(" alt_slen ")),0x90\n" \ [all …]
|
D | uaccess_64.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #include <linux/kasan-checks.h> 11 #include <asm/alternative.h> 15 #include <asm/runtime-const.h> 29 asm (ALTERNATIVE("", in __untagged_addr() 46 return addr & (mm)->context.untag_mask; in __untagged_addr_remote() 60 * Masking the user address is an alternative to a conditional 80 * User pointers can have tag bits on x86-64. This scheme tolerates 88 * max user address and the non-canonical gap, allowing us to 128 ALTERNATIVE("rep movsb", in copy_user_generic() [all …]
|
D | kvm_para.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 #include <asm/alternative.h> 22 ALTERNATIVE("vmcall", "vmmcall", X86_FEATURE_VMMCALL) 24 /* For KVM hypercalls, a three-byte sequence of either the vmcall or the vmmcall 57 : "a"(nr), "b"(p1) in kvm_hypercall1() 72 : "a"(nr), "b"(p1), "c"(p2) in kvm_hypercall2() 87 : "a"(nr), "b"(p1), "c"(p2), "d"(p3) in kvm_hypercall3() 103 : "a"(nr), "b"(p1), "c"(p2), "d"(p3), "S"(p4) in kvm_hypercall4() 115 : "a"(nr), "b"(p1), "c"(p2), "d"(p3) in kvm_sev_hypercall3()
|
D | nospec-branch.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #include <asm/alternative.h> 12 #include <asm/msr-index.h> 78 #include <asm/asm-offsets.h> 81 movq $-1, PER_CPU_VAR(pcpu_hot + X86_call_depth); 111 * This is required in various cases for retpoline and IBRS-based 119 * from C via asm(".include <asm/nospec-branch.h>") but let's not go there. 137 * Google experimented with loop-unrolling and this turned out to be 138 * the optimal version - two calls, each with their own speculation 149 jnz 771b; \ [all …]
|
/linux-6.14.4/arch/loongarch/include/asm/ |
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 …]
|
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-6.14.4/arch/riscv/include/asm/ |
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 …]
|
D | errata_list.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 8 #include <asm/alternative.h> 10 #include <asm/insn-def.h> 35 ALTERNATIVE(__stringify(RISCV_PTR do_trap_insn_fault), \ 41 ALTERNATIVE(__stringify(RISCV_PTR do_page_fault), \ 48 asm(ALTERNATIVE("sfence.vma x0, %0", "sfence.vma", SIFIVE_VENDOR_ID, \ 53 asm(ALTERNATIVE("sfence.vma %0", "sfence.vma", SIFIVE_VENDOR_ID, \ 58 asm(ALTERNATIVE("sfence.vma %0, %1", "sfence.vma", SIFIVE_VENDOR_ID, \ 83 * so on T-Head chips, check if no other memory type is set, 84 * and set the non-0 PMA type if applicable. [all …]
|
/linux-6.14.4/Documentation/networking/pse-pd/ |
D | pse-pi.rst | 1 .. SPDX-License-Identifier: GPL-2.0 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 ------------------------------- 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-6.14.4/arch/parisc/kernel/ |
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-6.14.4/Documentation/devicetree/bindings/net/pse-pd/ |
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 <[email protected]> 16 - Kory Maincent <[email protected]> 20 pattern: "^ethernet-pse(@.*|-([0-9]|[1-9][0-9]+))?$" 22 "#pse-cells": [all …]
|
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 <[email protected]> 13 - $ref: pse-controller.yaml# 18 - microchip,pd69200 19 - microchip,pd69210 20 - microchip,pd69220 40 "#address-cells": [all …]
|
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 <[email protected]> 13 - $ref: pse-controller.yaml# 18 - ti,tps23881 23 '#pse-cells': 26 reset-gpios: 38 "#address-cells": [all …]
|
/linux-6.14.4/arch/x86/lib/ |
D | copy_user_64.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 12 #include <asm/alternative.h> 16 * rep_movs_alternative - memory copy with exception handling. 52 _ASM_EXTABLE_UA( 0b, .Lexit) 53 _ASM_EXTABLE_UA( 1b, .Lexit) 67 _ASM_EXTABLE_UA( 2b, .Lcopy_user_tail) 68 _ASM_EXTABLE_UA( 3b, .Lcopy_user_tail) 71 0: ALTERNATIVE "jmp .Llarge_movsq", "rep movsb", X86_FEATURE_ERMS 74 _ASM_EXTABLE_UA( 0b, 1b) 81 _ASM_EXTABLE_UA( 0b, .Lcopy_user_tail) [all …]
|
/linux-6.14.4/arch/s390/kernel/ |
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> 36 ALTERNATIVE "nop", ".insn s,0xb2010000,\address", ALT_FACILITY(193) 40 ALTERNATIVE "nop", ".insn s,0xb2000000,\address", ALT_FACILITY(193) 44 ALTERNATIVE_2 "b \lpswe;nopr", \ [all …]
|
/linux-6.14.4/arch/riscv/lib/ |
D | strcmp.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 #include <asm/alternative-macros.h> 11 ALTERNATIVE("nop", "j strcmp_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB) 15 * a0 - comparison result, value like strcmp 18 * a0 - string1 19 * a1 - string2 30 bnez t0, 1b 36 * not necessarily -1, 0, +1 54 * a0 - comparison result, value like strcmp 57 * a0 - string1 [all …]
|
D | strncmp.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 #include <asm/alternative-macros.h> 11 ALTERNATIVE("nop", "j strncmp_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB) 15 * a0 - comparison result, value like strncmp 18 * a0 - string1 19 * a1 - string2 20 * a2 - number of characters to compare 34 bnez t0, 1b 41 * not necessarily -1, 0, +1 57 * a0 - comparison result, like strncmp [all …]
|
D | strlen.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 #include <asm/alternative-macros.h> 11 ALTERNATIVE("nop", "j strlen_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB) 15 * a0 - string length 18 * a0 - String to measure 28 j 1b 52 * a0 - string length 55 * a0 - String to measure 62 andi t2, a0, SZREG-1 65 andi t0, a0, -SZREG [all …]
|
/linux-6.14.4/arch/loongarch/lib/ |
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 …]
|
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 …]
|
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 …]
|
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 …]
|
/linux-6.14.4/arch/parisc/include/asm/ |
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 …]
|