Re: [PATCH] powerpc/8xx: Remove last traces of 8XX_MINIMAL_FPEMU
On Tue, Jul 16, 2013 at 10:56:38AM +0200, Paul Bolle wrote: > The Kconfig symbol 8XX_MINIMAL_FPEMU was removed in commit 968219fa33 > ("powerpc/8xx: Remove 8xx specific "minimal FPU emulation""). But that > commit didn't remove all code depending on that symbol. Do so now. > > Signed-off-by: Paul Bolle > --- > Not even compile tested! Help yourself to a cross compiler :) https://www.kernel.org/pub/tools/crosstool/ cheers -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] powerpc/8xx: Remove last traces of 8XX_MINIMAL_FPEMU
On Tue, Jul 16, 2013 at 10:56:38AM +0200, Paul Bolle wrote: The Kconfig symbol 8XX_MINIMAL_FPEMU was removed in commit 968219fa33 (powerpc/8xx: Remove 8xx specific minimal FPU emulation). But that commit didn't remove all code depending on that symbol. Do so now. Signed-off-by: Paul Bolle pebo...@tiscali.nl --- Not even compile tested! Help yourself to a cross compiler :) https://www.kernel.org/pub/tools/crosstool/ cheers -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] powerpc/8xx: Remove last traces of 8XX_MINIMAL_FPEMU
The Kconfig symbol 8XX_MINIMAL_FPEMU was removed in commit 968219fa33 ("powerpc/8xx: Remove 8xx specific "minimal FPU emulation""). But that commit didn't remove all code depending on that symbol. Do so now. Signed-off-by: Paul Bolle --- Not even compile tested! arch/powerpc/include/asm/emulated_ops.h | 2 - arch/powerpc/kernel/Makefile| 2 - arch/powerpc/kernel/softemu8xx.c| 199 3 files changed, 203 deletions(-) delete mode 100644 arch/powerpc/kernel/softemu8xx.c diff --git a/arch/powerpc/include/asm/emulated_ops.h b/arch/powerpc/include/asm/emulated_ops.h index 63f2a22..5a8b82a 100644 --- a/arch/powerpc/include/asm/emulated_ops.h +++ b/arch/powerpc/include/asm/emulated_ops.h @@ -46,8 +46,6 @@ extern struct ppc_emulated { struct ppc_emulated_entry unaligned; #ifdef CONFIG_MATH_EMULATION struct ppc_emulated_entry math; -#elif defined(CONFIG_8XX_MINIMAL_FPEMU) - struct ppc_emulated_entry 8xx; #endif #ifdef CONFIG_VSX struct ppc_emulated_entry vsx; diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index a8619bf..d706e58 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile @@ -117,8 +117,6 @@ obj-$(CONFIG_DYNAMIC_FTRACE)+= ftrace.o obj-$(CONFIG_FUNCTION_GRAPH_TRACER)+= ftrace.o obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o -obj-$(CONFIG_8XX_MINIMAL_FPEMU) += softemu8xx.o - ifneq ($(CONFIG_PPC_INDIRECT_IO),y) obj-y += iomap.o endif diff --git a/arch/powerpc/kernel/softemu8xx.c b/arch/powerpc/kernel/softemu8xx.c deleted file mode 100644 index 29b2f81..000 --- a/arch/powerpc/kernel/softemu8xx.c +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Software emulation of some PPC instructions for the 8xx core. - * - * Copyright (C) 1998 Dan Malek (dma...@jlc.net) - * - * Software floating emuation for the MPC8xx processor. I did this mostly - * because it was easier than trying to get the libraries compiled for - * software floating point. The goal is still to get the libraries done, - * but I lost patience and needed some hacks to at least get init and - * shells running. The first problem is the setjmp/longjmp that save - * and restore the floating point registers. - * - * For this emulation, our working registers are found on the register - * save area. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -/* Eventually we may need a look-up table, but this works for now. -*/ -#define LFS48 -#define LFD50 -#define LFDU 51 -#define STFD 54 -#define STFDU 55 -#define FMR63 - -void print_8xx_pte(struct mm_struct *mm, unsigned long addr) -{ - pgd_t *pgd; - pmd_t *pmd; - pte_t *pte; - - printk(" pte @ 0x%8lx: ", addr); - pgd = pgd_offset(mm, addr & PAGE_MASK); - if (pgd) { - pmd = pmd_offset(pud_offset(pgd, addr & PAGE_MASK), -addr & PAGE_MASK); - if (pmd && pmd_present(*pmd)) { - pte = pte_offset_kernel(pmd, addr & PAGE_MASK); - if (pte) { - printk(" (0x%08lx)->(0x%08lx)->0x%08lx\n", - (long)pgd, (long)pte, (long)pte_val(*pte)); -#define pp ((long)pte_val(*pte)) - printk(" RPN: %05lx PP: %lx SPS: %lx SH: %lx " - "CI: %lx v: %lx\n", - pp>>12,/* rpn */ - (pp>>10)&3, /* pp */ - (pp>>3)&1, /* small */ - (pp>>2)&1, /* shared */ - (pp>>1)&1, /* cache inhibit */ - pp&1 /* valid */ - ); -#undef pp - } - else { - printk("no pte\n"); - } - } - else { - printk("no pmd\n"); - } - } - else { - printk("no pgd\n"); - } -} - -int get_8xx_pte(struct mm_struct *mm, unsigned long addr) -{ - pgd_t *pgd; - pmd_t *pmd; - pte_t *pte; - int retval = 0; - - pgd = pgd_offset(mm, addr & PAGE_MASK); - if (pgd) { - pmd = pmd_offset(pud_offset(pgd, addr & PAGE_MASK), -addr & PAGE_MASK); - if (pmd && pmd_present(*pmd)) { - pte = pte_offset_kernel(pmd, addr & PAGE_MASK); - if (pte) { - retval = (int)pte_val(*pte); - } - } - } - return retval; -} - -/* - * We return 0 on success, 1 on unimplemented instruction, and EFAULT - * if
[PATCH] powerpc/8xx: Remove last traces of 8XX_MINIMAL_FPEMU
The Kconfig symbol 8XX_MINIMAL_FPEMU was removed in commit 968219fa33 (powerpc/8xx: Remove 8xx specific minimal FPU emulation). But that commit didn't remove all code depending on that symbol. Do so now. Signed-off-by: Paul Bolle pebo...@tiscali.nl --- Not even compile tested! arch/powerpc/include/asm/emulated_ops.h | 2 - arch/powerpc/kernel/Makefile| 2 - arch/powerpc/kernel/softemu8xx.c| 199 3 files changed, 203 deletions(-) delete mode 100644 arch/powerpc/kernel/softemu8xx.c diff --git a/arch/powerpc/include/asm/emulated_ops.h b/arch/powerpc/include/asm/emulated_ops.h index 63f2a22..5a8b82a 100644 --- a/arch/powerpc/include/asm/emulated_ops.h +++ b/arch/powerpc/include/asm/emulated_ops.h @@ -46,8 +46,6 @@ extern struct ppc_emulated { struct ppc_emulated_entry unaligned; #ifdef CONFIG_MATH_EMULATION struct ppc_emulated_entry math; -#elif defined(CONFIG_8XX_MINIMAL_FPEMU) - struct ppc_emulated_entry 8xx; #endif #ifdef CONFIG_VSX struct ppc_emulated_entry vsx; diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index a8619bf..d706e58 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile @@ -117,8 +117,6 @@ obj-$(CONFIG_DYNAMIC_FTRACE)+= ftrace.o obj-$(CONFIG_FUNCTION_GRAPH_TRACER)+= ftrace.o obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o -obj-$(CONFIG_8XX_MINIMAL_FPEMU) += softemu8xx.o - ifneq ($(CONFIG_PPC_INDIRECT_IO),y) obj-y += iomap.o endif diff --git a/arch/powerpc/kernel/softemu8xx.c b/arch/powerpc/kernel/softemu8xx.c deleted file mode 100644 index 29b2f81..000 --- a/arch/powerpc/kernel/softemu8xx.c +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Software emulation of some PPC instructions for the 8xx core. - * - * Copyright (C) 1998 Dan Malek (dma...@jlc.net) - * - * Software floating emuation for the MPC8xx processor. I did this mostly - * because it was easier than trying to get the libraries compiled for - * software floating point. The goal is still to get the libraries done, - * but I lost patience and needed some hacks to at least get init and - * shells running. The first problem is the setjmp/longjmp that save - * and restore the floating point registers. - * - * For this emulation, our working registers are found on the register - * save area. - */ - -#include linux/errno.h -#include linux/sched.h -#include linux/kernel.h -#include linux/mm.h -#include linux/stddef.h -#include linux/unistd.h -#include linux/ptrace.h -#include linux/user.h -#include linux/interrupt.h - -#include asm/pgtable.h -#include asm/uaccess.h -#include asm/io.h - -/* Eventually we may need a look-up table, but this works for now. -*/ -#define LFS48 -#define LFD50 -#define LFDU 51 -#define STFD 54 -#define STFDU 55 -#define FMR63 - -void print_8xx_pte(struct mm_struct *mm, unsigned long addr) -{ - pgd_t *pgd; - pmd_t *pmd; - pte_t *pte; - - printk( pte @ 0x%8lx: , addr); - pgd = pgd_offset(mm, addr PAGE_MASK); - if (pgd) { - pmd = pmd_offset(pud_offset(pgd, addr PAGE_MASK), -addr PAGE_MASK); - if (pmd pmd_present(*pmd)) { - pte = pte_offset_kernel(pmd, addr PAGE_MASK); - if (pte) { - printk( (0x%08lx)-(0x%08lx)-0x%08lx\n, - (long)pgd, (long)pte, (long)pte_val(*pte)); -#define pp ((long)pte_val(*pte)) - printk( RPN: %05lx PP: %lx SPS: %lx SH: %lx - CI: %lx v: %lx\n, - pp12,/* rpn */ - (pp10)3, /* pp */ - (pp3)1, /* small */ - (pp2)1, /* shared */ - (pp1)1, /* cache inhibit */ - pp1 /* valid */ - ); -#undef pp - } - else { - printk(no pte\n); - } - } - else { - printk(no pmd\n); - } - } - else { - printk(no pgd\n); - } -} - -int get_8xx_pte(struct mm_struct *mm, unsigned long addr) -{ - pgd_t *pgd; - pmd_t *pmd; - pte_t *pte; - int retval = 0; - - pgd = pgd_offset(mm, addr PAGE_MASK); - if (pgd) { - pmd = pmd_offset(pud_offset(pgd, addr PAGE_MASK), -addr PAGE_MASK); - if (pmd pmd_present(*pmd)) { - pte = pte_offset_kernel(pmd, addr PAGE_MASK); - if (pte) { - retval = (int)pte_val(*pte); - } -