aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/lib/sstep.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/lib/sstep.c')
-rw-r--r--arch/powerpc/lib/sstep.c20
1 files changed, 0 insertions, 20 deletions
diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c
index 846dba2c6360..9c542ec70c5b 100644
--- a/arch/powerpc/lib/sstep.c
+++ b/arch/powerpc/lib/sstep.c
@@ -1799,8 +1799,6 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
1799 goto instr_done; 1799 goto instr_done;
1800 1800
1801 case LARX: 1801 case LARX:
1802 if (regs->msr & MSR_LE)
1803 return 0;
1804 if (op.ea & (size - 1)) 1802 if (op.ea & (size - 1))
1805 break; /* can't handle misaligned */ 1803 break; /* can't handle misaligned */
1806 if (!address_ok(regs, op.ea, size)) 1804 if (!address_ok(regs, op.ea, size))
@@ -1823,8 +1821,6 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
1823 goto ldst_done; 1821 goto ldst_done;
1824 1822
1825 case STCX: 1823 case STCX:
1826 if (regs->msr & MSR_LE)
1827 return 0;
1828 if (op.ea & (size - 1)) 1824 if (op.ea & (size - 1))
1829 break; /* can't handle misaligned */ 1825 break; /* can't handle misaligned */
1830 if (!address_ok(regs, op.ea, size)) 1826 if (!address_ok(regs, op.ea, size))
@@ -1849,8 +1845,6 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
1849 goto ldst_done; 1845 goto ldst_done;
1850 1846
1851 case LOAD: 1847 case LOAD:
1852 if (regs->msr & MSR_LE)
1853 return 0;
1854 err = read_mem(&regs->gpr[op.reg], op.ea, size, regs); 1848 err = read_mem(&regs->gpr[op.reg], op.ea, size, regs);
1855 if (!err) { 1849 if (!err) {
1856 if (op.type & SIGNEXT) 1850 if (op.type & SIGNEXT)
@@ -1862,8 +1856,6 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
1862 1856
1863#ifdef CONFIG_PPC_FPU 1857#ifdef CONFIG_PPC_FPU
1864 case LOAD_FP: 1858 case LOAD_FP:
1865 if (regs->msr & MSR_LE)
1866 return 0;
1867 if (size == 4) 1859 if (size == 4)
1868 err = do_fp_load(op.reg, do_lfs, op.ea, size, regs); 1860 err = do_fp_load(op.reg, do_lfs, op.ea, size, regs);
1869 else 1861 else
@@ -1872,15 +1864,11 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
1872#endif 1864#endif
1873#ifdef CONFIG_ALTIVEC 1865#ifdef CONFIG_ALTIVEC
1874 case LOAD_VMX: 1866 case LOAD_VMX:
1875 if (regs->msr & MSR_LE)
1876 return 0;
1877 err = do_vec_load(op.reg, do_lvx, op.ea & ~0xfUL, regs); 1867 err = do_vec_load(op.reg, do_lvx, op.ea & ~0xfUL, regs);
1878 goto ldst_done; 1868 goto ldst_done;
1879#endif 1869#endif
1880#ifdef CONFIG_VSX 1870#ifdef CONFIG_VSX
1881 case LOAD_VSX: 1871 case LOAD_VSX:
1882 if (regs->msr & MSR_LE)
1883 return 0;
1884 err = do_vsx_load(op.reg, do_lxvd2x, op.ea, regs); 1872 err = do_vsx_load(op.reg, do_lxvd2x, op.ea, regs);
1885 goto ldst_done; 1873 goto ldst_done;
1886#endif 1874#endif
@@ -1903,8 +1891,6 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
1903 goto instr_done; 1891 goto instr_done;
1904 1892
1905 case STORE: 1893 case STORE:
1906 if (regs->msr & MSR_LE)
1907 return 0;
1908 if ((op.type & UPDATE) && size == sizeof(long) && 1894 if ((op.type & UPDATE) && size == sizeof(long) &&
1909 op.reg == 1 && op.update_reg == 1 && 1895 op.reg == 1 && op.update_reg == 1 &&
1910 !(regs->msr & MSR_PR) && 1896 !(regs->msr & MSR_PR) &&
@@ -1917,8 +1903,6 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
1917 1903
1918#ifdef CONFIG_PPC_FPU 1904#ifdef CONFIG_PPC_FPU
1919 case STORE_FP: 1905 case STORE_FP:
1920 if (regs->msr & MSR_LE)
1921 return 0;
1922 if (size == 4) 1906 if (size == 4)
1923 err = do_fp_store(op.reg, do_stfs, op.ea, size, regs); 1907 err = do_fp_store(op.reg, do_stfs, op.ea, size, regs);
1924 else 1908 else
@@ -1927,15 +1911,11 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
1927#endif 1911#endif
1928#ifdef CONFIG_ALTIVEC 1912#ifdef CONFIG_ALTIVEC
1929 case STORE_VMX: 1913 case STORE_VMX:
1930 if (regs->msr & MSR_LE)
1931 return 0;
1932 err = do_vec_store(op.reg, do_stvx, op.ea & ~0xfUL, regs); 1914 err = do_vec_store(op.reg, do_stvx, op.ea & ~0xfUL, regs);
1933 goto ldst_done; 1915 goto ldst_done;
1934#endif 1916#endif
1935#ifdef CONFIG_VSX 1917#ifdef CONFIG_VSX
1936 case STORE_VSX: 1918 case STORE_VSX:
1937 if (regs->msr & MSR_LE)
1938 return 0;
1939 err = do_vsx_store(op.reg, do_stxvd2x, op.ea, regs); 1919 err = do_vsx_store(op.reg, do_stxvd2x, op.ea, regs);
1940 goto ldst_done; 1920 goto ldst_done;
1941#endif 1921#endif