From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xenproject.org, konrad@kernel.org,
ross.lagerwall@citrix.com, sstabellini@kernel.org,
julien.grall@arm.com
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
Doug Goldstein <cardoe@cardoe.com>,
Jan Beulich <jbeulich@suse.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [PATCH v2 07/20] arm/x86: Add ALTERNATIVE and HAS_EX_TABLE
Date: Thu, 25 Aug 2016 09:37:22 -0400 [thread overview]
Message-ID: <1472132255-23470-8-git-send-email-konrad.wilk@oracle.com> (raw)
In-Reply-To: <1472132255-23470-1-git-send-email-konrad.wilk@oracle.com>
x86 implements all of them by default - and we just
add two extra CONFIG_ variables to be declared in autoconf.h.
ARM 64 only has alternative while ARM 32 has none of them.
And while at it change the livepatch common code that
would benefit from this.
Suggested-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien.grall@arm.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Doug Goldstein <cardoe@cardoe.com>
v2: First submission
---
xen/arch/x86/Kconfig | 8 ++++++++
xen/common/livepatch.c | 5 ++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 265fd79..daef864 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -5,10 +5,12 @@ config X86
def_bool y
select ACPI
select ACPI_LEGACY_TABLES_LOOKUP
+ select ALTERNATIVE
select COMPAT
select CORE_PARKING
select HAS_CPUFREQ
select HAS_EHCI
+ select HAS_EX_TABLE
select HAS_GDBSX
select HAS_IOPORTS
select HAS_KEXEC
@@ -22,6 +24,12 @@ config X86
select NUMA
select VGA
+config ALTERNATIVE
+ bool
+
+config HAS_EX_TABLE
+ bool
+
config ARCH_DEFCONFIG
string
default "arch/x86/configs/x86_64_defconfig"
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index b771c7d..7e36d97 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -3,6 +3,7 @@
*
*/
+#include <xen/config.h>
#include <xen/cpu.h>
#include <xen/elf.h>
#include <xen/err.h>
@@ -684,7 +685,7 @@ static int prepare_payload(struct payload *payload,
sizeof(*region->frame[i].bugs);
}
-#ifndef CONFIG_ARM
+#ifdef CONFIG_ALTERNATIVE
sec = livepatch_elf_sec_by_name(elf, ".altinstructions");
if ( sec )
{
@@ -715,7 +716,9 @@ static int prepare_payload(struct payload *payload,
}
apply_alternatives(start, end);
}
+#endif
+#ifdef CONFIG_HAS_EX_TABLE
sec = livepatch_elf_sec_by_name(elf, ".ex_table");
if ( sec )
{
--
2.4.11
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-08-25 13:38 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-25 13:37 [PATCH v2] Livepatch for ARM 64 and 32 Konrad Rzeszutek Wilk
2016-08-25 13:37 ` [PATCH v2 01/20] livepatch: Bubble up sanity checks on Elf relocs Konrad Rzeszutek Wilk
2016-08-25 14:48 ` Jan Beulich
2016-09-06 17:13 ` Konrad Rzeszutek Wilk
2016-08-25 13:37 ` [PATCH v2 02/20] x86/arm: Make 'make debug' work properly Konrad Rzeszutek Wilk
2016-08-25 13:37 ` [PATCH v2 03/20] x86/arm64: Expose the ALT_[ORIG|REPL]_PTR macros to header files Konrad Rzeszutek Wilk
2016-08-31 15:43 ` Julien Grall
2016-08-25 13:37 ` [PATCH v2 04/20] alternatives: x86 rename and change parameters on ARM Konrad Rzeszutek Wilk
2016-08-25 13:55 ` Andrew Cooper
2016-08-31 15:44 ` Julien Grall
2016-08-25 13:37 ` [PATCH v2 05/20] arm64/alternatives: Make it possible to patch outside of hypervisor Konrad Rzeszutek Wilk
2016-08-31 15:54 ` Julien Grall
2016-08-25 13:37 ` [PATCH v2 06/20] arm/alternative: Use _start instead of _stext Konrad Rzeszutek Wilk
2016-08-25 13:37 ` Konrad Rzeszutek Wilk [this message]
2016-08-25 13:58 ` [PATCH v2 07/20] arm/x86: Add ALTERNATIVE and HAS_EX_TABLE Andrew Cooper
2016-08-25 14:02 ` Julien Grall
2016-08-25 14:09 ` Andrew Cooper
2016-08-25 14:56 ` Jan Beulich
2016-09-06 20:36 ` Konrad Rzeszutek Wilk
2016-09-06 20:40 ` Konrad Rzeszutek Wilk
2016-08-25 14:54 ` Jan Beulich
2016-09-06 20:16 ` Konrad Rzeszutek Wilk
2016-09-07 8:17 ` Jan Beulich
2016-08-25 13:37 ` [PATCH v2 08/20] x86: change modify_xen_mappings to return error Konrad Rzeszutek Wilk
2016-08-25 13:53 ` Andrew Cooper
2016-08-25 13:37 ` [PATCH v2 09/20] arm/mm: Introduce modify_xen_mappings Konrad Rzeszutek Wilk
2016-09-01 13:04 ` Julien Grall
2016-08-25 13:37 ` [PATCH v2 10/20] arm64/insn: introduce aarch64_insn_gen_{nop|branch_imm}() helper functions Konrad Rzeszutek Wilk
2016-09-01 13:10 ` Julien Grall
2016-08-25 13:37 ` [PATCH v2 11/20] arm/arm64: Update comment about VA layout Konrad Rzeszutek Wilk
2016-09-01 13:11 ` Julien Grall
2016-08-25 13:37 ` [PATCH v2 12/20] x86, arm: Change arch_livepatch_quiesce() decleration Konrad Rzeszutek Wilk
2016-08-25 13:59 ` Andrew Cooper
2016-09-01 13:13 ` Julien Grall
2016-08-25 13:37 ` [PATCH v2 13/20] livepatch: Initial ARM64 support Konrad Rzeszutek Wilk
2016-08-25 15:02 ` Jan Beulich
2016-09-07 2:58 ` Konrad Rzeszutek Wilk
2016-09-01 14:16 ` Julien Grall
2016-09-07 0:31 ` Konrad Rzeszutek Wilk
2016-09-07 3:33 ` Konrad Rzeszutek Wilk
2016-09-07 10:43 ` Julien Grall
2016-09-07 15:20 ` Konrad Rzeszutek Wilk
2016-09-07 10:41 ` Julien Grall
2016-08-25 13:37 ` [PATCH v2 14/20] livepatch: ARM 32|64: Ignore mapping symbols: $[d, a, x, t] Konrad Rzeszutek Wilk
2016-08-25 14:03 ` Andrew Cooper
2016-09-01 14:48 ` Julien Grall
2016-09-06 18:57 ` Konrad Rzeszutek Wilk
2016-08-25 13:37 ` [PATCH v2 15/20] livepatch: Move test-cases to common Konrad Rzeszutek Wilk
2016-08-25 15:05 ` Jan Beulich
2016-09-06 17:16 ` Konrad Rzeszutek Wilk
2016-09-07 8:28 ` Jan Beulich
2016-09-06 17:17 ` Konrad Rzeszutek Wilk
2016-08-25 13:37 ` [PATCH v2 16/20] livepatch: tests: Make them compile under ARM64 Konrad Rzeszutek Wilk
2016-08-25 13:37 ` [PATCH v2 17/20] xen/arm32: Add an helper to invalidate all instruction caches Konrad Rzeszutek Wilk
2016-08-25 13:37 ` [PATCH v2 18/20] xen/arm32/livepatch: Add BPICALLIS to " Konrad Rzeszutek Wilk
2016-09-01 15:13 ` Julien Grall
2016-09-01 20:23 ` Konrad Rzeszutek Wilk
2016-09-06 19:39 ` Konrad Rzeszutek Wilk
2016-08-25 13:37 ` [PATCH v2 19/20] livepatch/elf: Adjust section aligment to word Konrad Rzeszutek Wilk
2016-08-25 15:11 ` Jan Beulich
2016-09-01 15:27 ` Julien Grall
2016-09-06 21:18 ` Konrad Rzeszutek Wilk
2016-09-07 8:24 ` Jan Beulich
2016-08-25 13:37 ` [PATCH v2 20/20] livepatch: ARM32 support Konrad Rzeszutek Wilk
2016-09-08 10:34 ` Konrad Rzeszutek Wilk
2016-08-31 14:49 ` [PATCH v2] Livepatch for ARM 64 and 32 Julien Grall
2016-08-31 15:06 ` Konrad Rzeszutek Wilk
2016-08-31 15:09 ` Julien Grall
2016-08-31 15:24 ` Andrew Cooper
2016-08-31 15:40 ` Julien Grall
2016-08-31 15:54 ` Jan Beulich
2016-09-07 4:05 ` Konrad Rzeszutek Wilk
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=1472132255-23470-8-git-send-email-konrad.wilk@oracle.com \
--to=konrad.wilk@oracle.com \
--cc=andrew.cooper3@citrix.com \
--cc=cardoe@cardoe.com \
--cc=jbeulich@suse.com \
--cc=julien.grall@arm.com \
--cc=konrad@kernel.org \
--cc=ross.lagerwall@citrix.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).