Skip to content
This repository has been archived by the owner on Dec 14, 2022. It is now read-only.

Commit

Permalink
Revert "arm64: alternatives: add enable parameter to conditional asm …
Browse files Browse the repository at this point in the history
…macros"

Commit 77ee306 ("arm64: alternatives: add enable parameter to
conditional asm macros") extended the alternative assembly macros.
Unfortunately this does not really work as one would expect, as the
enable parameter in fact correctly protects the alternative section
magic, but not the actual code sequences.
This results in having both the original instruction(s) _and_  the
alternative ones, if enable if false.
Since there is no user of this macros anyway, just revert it.

This reverts commit 77ee306.

Signed-off-by: Andre Przywara <[email protected]>
Signed-off-by: Catalin Marinas <[email protected]>
  • Loading branch information
Andre-ARM authored and ctmarinas committed Jul 1, 2016
1 parent 6c5269f commit b82bfa4
Showing 1 changed file with 3 additions and 9 deletions.
12 changes: 3 additions & 9 deletions arch/arm64/include/asm/alternative.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,11 @@ void apply_alternatives(void *start, size_t length);
* The code that follows this macro will be assembled and linked as
* normal. There are no restrictions on this code.
*/
.macro alternative_if_not cap, enable = 1
.if \enable
.macro alternative_if_not cap
.pushsection .altinstructions, "a"
altinstruction_entry 661f, 663f, \cap, 662f-661f, 664f-663f
.popsection
661:
.endif
.endm

/*
Expand All @@ -118,22 +116,18 @@ void apply_alternatives(void *start, size_t length);
* alternative sequence it is defined in (branches into an
* alternative sequence are not fixed up).
*/
.macro alternative_else, enable = 1
.if \enable
.macro alternative_else
662: .pushsection .altinstr_replacement, "ax"
663:
.endif
.endm

/*
* Complete an alternative code sequence.
*/
.macro alternative_endif, enable = 1
.if \enable
.macro alternative_endif
664: .popsection
.org . - (664b-663b) + (662b-661b)
.org . - (662b-661b) + (664b-663b)
.endif
.endm

#define _ALTERNATIVE_CFG(insn1, insn2, cap, cfg, ...) \
Expand Down

0 comments on commit b82bfa4

Please sign in to comment.