|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 1/3] x86/alternatives: Factor out access to ideal_nops[]
... in order to rework the calculation.
No functional change.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
CC: Jan Beulich <JBeulich@xxxxxxxx>
CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
xen/arch/x86/alternative.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index ecc56964bd9c..cc2d0c89aca3 100644
--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -86,6 +86,11 @@ static bool init_or_livepatch_read_mostly
toolchain_nops_are_ideal;
# define toolchain_nops_are_ideal false
#endif
+static const unsigned char *get_ideal_nops(unsigned int noplen)
+{
+ return ideal_nops[noplen];
+}
+
static void __init arch_init_ideal_nops(void)
{
switch ( boot_cpu_data.x86_vendor )
@@ -116,7 +121,7 @@ static void __init arch_init_ideal_nops(void)
}
#ifdef HAVE_AS_NOPS_DIRECTIVE
- if ( memcmp(ideal_nops[ASM_NOP_MAX], toolchain_nops, ASM_NOP_MAX) == 0 )
+ if ( memcmp(get_ideal_nops(ASM_NOP_MAX), toolchain_nops, ASM_NOP_MAX) == 0
)
toolchain_nops_are_ideal = true;
#endif
}
@@ -127,9 +132,11 @@ void init_or_livepatch add_nops(void *insns, unsigned int
len)
while ( len > 0 )
{
unsigned int noplen = len;
+
if ( noplen > ASM_NOP_MAX )
noplen = ASM_NOP_MAX;
- memcpy(insns, ideal_nops[noplen], noplen);
+
+ memcpy(insns, get_ideal_nops(noplen), noplen);
insns += noplen;
len -= noplen;
}
--
2.39.5
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |