From: Julien Grall <julien.grall@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien.grall@arm.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
andrii.anisov@gmail.com
Subject: [Xen-devel] [PATCH RFC for-4.13 09/10] xen/arm: asm: Replace use of ALTERNATIVE with alternative_if
Date: Thu, 26 Sep 2019 19:38:07 +0100 [thread overview]
Message-ID: <20190926183808.11630-10-julien.grall@arm.com> (raw)
In-Reply-To: <20190926183808.11630-1-julien.grall@arm.com>
Using alternative_if makes the code a bit more streamlined.
Take the opportunity to use the new auto-nop infrastructure to avoid
counting the number of nop in the else part for arch/arm/arm64/entry.S
Signed-off-by: Julien Grall <julien.grall@arm.com>
---
This is pretty much a matter of taste, but at least for arm64 this
allows us to use the auto-nop infrastructure. So the arm32 is more
to keep inline with arm64.
---
xen/arch/arm/arm32/entry.S | 9 ++++++---
xen/arch/arm/arm64/entry.S | 8 +++++---
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/xen/arch/arm/arm32/entry.S b/xen/arch/arm/arm32/entry.S
index 0b4cd19abd..1428cd3583 100644
--- a/xen/arch/arm/arm32/entry.S
+++ b/xen/arch/arm/arm32/entry.S
@@ -65,9 +65,12 @@ save_guest_regs:
* If the SKIP_SYNCHRONIZE_SERROR_ENTRY_EXIT has been set in the cpu
* feature, the checking of pending SErrors will be skipped.
*/
- ALTERNATIVE("nop",
- "b skip_check",
- SKIP_SYNCHRONIZE_SERROR_ENTRY_EXIT)
+ alternative_if SKIP_SYNCHRONIZE_SERROR_ENTRY_EXIT
+ nop
+ alternative_else
+ b skip_check
+ alternative_endif
+
/*
* Start to check pending virtual abort in the gap of Guest -> HYP
* world switch.
diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
index 458d12f188..91cf6ee6f4 100644
--- a/xen/arch/arm/arm64/entry.S
+++ b/xen/arch/arm/arm64/entry.S
@@ -170,9 +170,11 @@
* is not set. If a vSError took place, the initial exception will be
* skipped. Exit ASAP
*/
- ALTERNATIVE("bl check_pending_vserror; cbnz x0, 1f",
- "nop; nop",
- SKIP_SYNCHRONIZE_SERROR_ENTRY_EXIT)
+ alternative_if SKIP_SYNCHRONIZE_SERROR_ENTRY_EXIT
+ bl check_pending_vserror
+ cbnz x0, 1f
+ alternative_else_nop_endif
+
mov x0, sp
bl enter_hypervisor_from_guest_noirq
msr daifclr, \iflags
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2019-09-26 18:38 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-26 18:37 [Xen-devel] [PATCH RFC for-4.13 00/10] xen/arm: XSA-201 and XSA-263 fixes Julien Grall
2019-09-26 18:37 ` [Xen-devel] [PATCH RFC for-4.13 01/10] xen/arm64: entry: Introduce a macro to generate guest vector and use it Julien Grall
2019-09-27 11:34 ` Volodymyr Babchuk
2019-10-01 19:53 ` Stefano Stabellini
2019-09-26 18:38 ` [Xen-devel] [PATCH RFC for-4.13 02/10] xen/arm64: head: Check if an SError is pending when receiving a vSError Julien Grall
2019-09-27 11:35 ` Volodymyr Babchuk
2019-10-01 19:58 ` Stefano Stabellini
2019-09-26 18:38 ` [Xen-devel] [PATCH RFC for-4.13 03/10] xen/arm: traps: Rework entry/exit from the guest path Julien Grall
2019-09-27 11:45 ` Volodymyr Babchuk
2019-09-27 12:16 ` Julien Grall
2019-09-27 12:27 ` Volodymyr Babchuk
2019-09-27 12:44 ` Julien Grall
2019-09-27 12:49 ` Volodymyr Babchuk
2019-10-01 20:12 ` Stefano Stabellini
2019-10-01 21:06 ` Julien Grall
2019-10-02 0:16 ` Stefano Stabellini
2019-10-02 9:12 ` Julien Grall
2019-10-02 12:41 ` Stefano Stabellini
2019-10-02 12:47 ` Julien Grall
2019-10-02 22:26 ` Stefano Stabellini
2019-10-03 10:24 ` Julien Grall
2019-10-03 17:48 ` Stefano Stabellini
2019-10-03 17:53 ` Julien Grall
2019-09-26 18:38 ` [Xen-devel] [PATCH RFC for-4.13 04/10] xen/arm: Ensure the SSBD workaround is re-enabled right after exiting a guest Julien Grall
2019-09-27 11:56 ` Volodymyr Babchuk
2019-09-27 12:22 ` Julien Grall
2019-09-27 12:39 ` Volodymyr Babchuk
2019-09-27 13:16 ` Julien Grall
2019-09-27 13:33 ` Volodymyr Babchuk
2019-09-27 14:11 ` Julien Grall
2019-09-27 14:21 ` Volodymyr Babchuk
2019-09-27 16:24 ` Julien Grall
2019-09-27 17:58 ` Volodymyr Babchuk
2019-09-27 20:31 ` Julien Grall
2019-09-30 12:14 ` Volodymyr Babchuk
2019-09-30 12:15 ` Julien Grall
2019-09-26 18:38 ` [Xen-devel] [PATCH RFC for-4.13 05/10] xen/arm: alternative: Remove unused parameter for alternative_if_not_cap Julien Grall
2019-09-27 11:50 ` Volodymyr Babchuk
2019-10-01 20:55 ` Stefano Stabellini
2019-09-26 18:38 ` [Xen-devel] [PATCH RFC for-4.13 06/10] xen/arm: Move ARCH_PATCH_INSN_SIZE out of the header livepatch.h Julien Grall
2019-09-27 11:51 ` Volodymyr Babchuk
2019-09-27 11:59 ` Ross Lagerwall
2019-10-01 20:57 ` Stefano Stabellini
2019-09-26 18:38 ` [Xen-devel] [PATCH RFC for-4.13 07/10] xen/arm: Allow insn.h to be called from assembly Julien Grall
2019-09-27 11:52 ` Volodymyr Babchuk
2019-10-01 21:00 ` Stefano Stabellini
2019-10-21 16:43 ` Julien Grall
2019-10-21 17:23 ` Stefano Stabellini
2019-09-26 18:38 ` [Xen-devel] [PATCH RFC for-4.13 08/10] xen/arm: alternative: add auto-nop infrastructure Julien Grall
2019-09-27 15:34 ` Volodymyr Babchuk
2019-10-01 22:08 ` Stefano Stabellini
2019-09-26 18:38 ` Julien Grall [this message]
2019-09-27 12:11 ` [Xen-devel] [PATCH RFC for-4.13 09/10] xen/arm: asm: Replace use of ALTERNATIVE with alternative_if Volodymyr Babchuk
2019-09-27 12:34 ` Julien Grall
2019-09-27 12:46 ` Volodymyr Babchuk
2019-10-01 22:19 ` Stefano Stabellini
2019-10-01 22:44 ` Julien Grall
2019-10-01 22:52 ` Stefano Stabellini
2019-09-26 18:38 ` [Xen-devel] [PATCH RFC for-4.13 10/10] xen/arm64: entry: Ensure the guest state is synced when receiving a vSError Julien Grall
2019-09-27 15:30 ` Volodymyr Babchuk
2019-10-02 0:50 ` Stefano Stabellini
2019-09-27 4:17 ` [Xen-devel] [PATCH RFC for-4.13 00/10] xen/arm: XSA-201 and XSA-263 fixes Jürgen Groß
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190926183808.11630-10-julien.grall@arm.com \
--to=julien.grall@arm.com \
--cc=Volodymyr_Babchuk@epam.com \
--cc=andrii.anisov@gmail.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.