Home
last modified time | relevance | path

Searched +full:alternative +full:- +full:b (Results 1 – 25 of 228) sorted by relevance

12345678910

/linux/arch/arm64/include/asm/
H A Dalternative-macros.h1 /* 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 Dpercpu.h1 /* 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 Dalternative.h1 /* 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/arch/loongarch/include/asm/
H A Dalternative.h1 /* 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 Dalternative-asm.h1 /* 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 Dalternative-macros.h1 /* 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 …]
/linux/Documentation/networking/pse-pd/
H A Dpse-pi.rst1 .. 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/arch/parisc/kernel/
H A Dpacache.S1 /* 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 Dpse-controller.yaml1 # 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 Dti,tps23881.yaml1 # 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
23 '#pse-cells':
26 reset-gpios:
38 "#address-cells":
[all …]
/linux/arch/x86/include/asm/
H A Duaccess_64.h1 /* 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 …]
H A Dnospec-branch.h1 /* 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 …]
H A Dkvm_para.h1 /* 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()
/linux/arch/x86/lib/
H A Dcopy_user_64.S1 /* 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)
89 _ASM_EXTABLE_UA( 0b, 1b)
/linux/arch/riscv/lib/
H A Dstrcmp.S1 /* 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 …]
H A Dstrncmp.S1 /* 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 …]
H A Dstrlen.S1 /* 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/arch/loongarch/lib/
H A Dclear_user.S1 /* 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 Dmemset.S1 /* 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 Dmemcpy.S1 /* 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 Dmemmove.S1 /* 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 Dcopy_user.S1 /* 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 Dalternative.h1 /* 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 …]
/linux/tools/objtool/Documentation/
H A Dobjtool.txt8 Objtool has become an integral part of the x86-64 kernel toolchain. The
14 --------
18 - Stack unwinding metadata validation -- useful for helping to ensure
21 - ORC unwinder metadata generation -- a faster and more precise
22 alternative to frame pointer based unwinding
24 - Retpoline validation -- ensures that all indirect calls go through
27 - Retpoline call site annotation -- annotates all retpoline thunk call
31 - Non-instrumentation validation -- validates non-instrumentable
32 ("noinstr") code rules, preventing instrumentation in low-level C
35 - Static call annotation -- annotates static call sites, enabling the
[all …]
/linux/include/linux/pse-pd/
H A Dpse.h1 // SPDX-License-Identifier: GPL-2.0-only
12 /* Maximum current in uA according to IEEE 802.3-2022 Table 145-1 */
19 * struct pse_control_config - PSE control/channel configuration.
22 * IEEE 802.3-2018 30.15.1.2.1 acPoDLPSEAdminControl
24 * IEEE 802.3-2022 30.9.1.2.1 acPSEAdminControl
32 * struct pse_control_status - PSE control/channel status.
35 * functions. IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState
37 * IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus:
39 * functions. IEEE 802.3-2022 30.9.1.1.2 aPSEAdminState
41 * IEEE 802.3-2022 30.9.1.1.5 aPSEPowerDetectionStatus:
[all …]

12345678910