aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/lib/Makefile
diff options
context:
space:
mode:
authorGravatar Paul Mackerras <paulus@ozlabs.org> 2017-08-30 14:12:40 +1000
committerGravatar Michael Ellerman <mpe@ellerman.id.au> 2017-09-01 16:42:43 +1000
commit31bfdb036f1281831db2532178f0da41f4dc9bed (patch)
tree5935c607203c770ec8d8a16811f528cdacdf9dfd /arch/powerpc/lib/Makefile
parentpowerpc: Separate out load/store emulation into its own function (diff)
downloadlinux-31bfdb036f1281831db2532178f0da41f4dc9bed.tar.gz
linux-31bfdb036f1281831db2532178f0da41f4dc9bed.tar.bz2
linux-31bfdb036f1281831db2532178f0da41f4dc9bed.zip
powerpc: Use instruction emulation infrastructure to handle alignment faults
This replaces almost all of the instruction emulation code in fix_alignment() with calls to analyse_instr(), emulate_loadstore() and emulate_dcbz(). The only emulation code left is the SPE emulation code; analyse_instr() etc. do not handle SPE instructions at present. One result of this is that we can now handle alignment faults on all the new VSX load and store instructions that were added in POWER9. VSX loads/stores will take alignment faults for unaligned accesses to cache-inhibited memory. Another effect is that we no longer rely on the DAR and DSISR values set by the processor. With this, we now need to include the instruction emulation code unconditionally. Signed-off-by: Paul Mackerras <paulus@ozlabs.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/lib/Makefile')
-rw-r--r--arch/powerpc/lib/Makefile4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
index 400778d7accc..50d5bf954cff 100644
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
@@ -31,8 +31,8 @@ obj64-$(CONFIG_KPROBES_SANITY_TEST) += test_emulate_step.o
obj-y += checksum_$(BITS).o checksum_wrappers.o
-obj-$(CONFIG_PPC_EMULATE_SSTEP) += sstep.o ldstfp.o
-obj64-$(CONFIG_PPC_EMULATE_SSTEP) += quad.o
+obj-y += sstep.o ldstfp.o quad.o
+obj64-y += quad.o
obj-$(CONFIG_PPC_LIB_RHEAP) += rheap.o