sparc32: remove all uses of ARCH_SUN4C
authorSam Ravnborg <sam@ravnborg.org>
Fri, 11 May 2012 11:35:08 +0000 (11:35 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 May 2012 02:27:48 +0000 (19:27 -0700)
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/include/asm/cpu_type.h
arch/sparc/include/asm/elf_32.h
arch/sparc/kernel/process_32.c
arch/sparc/kernel/sys_sparc_32.c
arch/sparc/mm/btfixup.c
arch/sparc/mm/fault_32.c

index 4ca184d95d82e0d4f73657cd2e1827ec362e10b7..73a44dda1b07c65883815e8e501984527a197885 100644 (file)
@@ -19,16 +19,12 @@ enum sparc_cpu {
 #ifdef CONFIG_SPARC32
 extern enum sparc_cpu sparc_cpu_model;
 
-#define ARCH_SUN4C (sparc_cpu_model==sun4c)
-
 #define SUN4M_NCPUS            4              /* Architectural limit of sun4m. */
 
 #else
 
 #define sparc_cpu_model sun4u
 
-/* This cannot ever be a sun4c :) That's just history. */
-#define ARCH_SUN4C 0
 #endif
 
 #endif /* __ASM_CPU_TYPE_H */
index 4269ca6ad18a9f2b46cb0064dcc9618e9d72dcb3..b5beb114d229dc5acf87e818782f3b8c6fc90e5f 100644 (file)
@@ -118,11 +118,10 @@ typedef struct {
    instruction set this cpu supports.  This can NOT be done in userspace
    on Sparc.  */
 
-/* Sun4c has none of the capabilities, most sun4m's have them all.
+/* Most sun4m's have them all.
  * XXX This is gross, set some global variable at boot time. -DaveM
  */
-#define ELF_HWCAP      ((ARCH_SUN4C) ? 0 : \
-                        (HWCAP_SPARC_FLUSH | HWCAP_SPARC_STBAR | \
+#define ELF_HWCAP      ((HWCAP_SPARC_FLUSH | HWCAP_SPARC_STBAR | \
                          HWCAP_SPARC_SWAP | \
                          ((srmmu_modtype != Cypress && \
                            srmmu_modtype != Cypress_vE && \
index de81e21cbf682691761c115124b8057b164c7f38..d8e973dab076dfe4c9b0d61e83cc4f2fc985c66d 100644 (file)
@@ -67,8 +67,6 @@ struct thread_info *current_set[NR_CPUS];
 
 #ifndef CONFIG_SMP
 
-#define SUN4C_FAULT_HIGH 100
-
 /*
  * the idle loop on a Sparc... ;)
  */
@@ -76,36 +74,6 @@ void cpu_idle(void)
 {
        /* endless idle loop with no priority at all */
        for (;;) {
-               if (ARCH_SUN4C) {
-                       static int count = HZ;
-                       static unsigned long last_jiffies;
-                       static unsigned long last_faults;
-                       static unsigned long fps;
-                       unsigned long now;
-                       unsigned long faults;
-
-                       extern unsigned long sun4c_kernel_faults;
-                       extern void sun4c_grow_kernel_ring(void);
-
-                       local_irq_disable();
-                       now = jiffies;
-                       count -= (now - last_jiffies);
-                       last_jiffies = now;
-                       if (count < 0) {
-                               count += HZ;
-                               faults = sun4c_kernel_faults;
-                               fps = (fps + (faults - last_faults)) >> 1;
-                               last_faults = faults;
-#if 0
-                               printk("kernel faults / second = %ld\n", fps);
-#endif
-                               if (fps >= SUN4C_FAULT_HIGH) {
-                                       /*sun4c_grow_kernel_ring();*/
-                               }
-                       }
-                       local_irq_enable();
-               }
-
                if (pm_idle) {
                        while (!need_resched())
                                (*pm_idle)();
index 42b282fa6112933681082c12bb95ef04fccc4b41..627e89af1d712855157f3adbc62a180458eada90 100644 (file)
@@ -53,8 +53,6 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, unsi
        /* See asm-sparc/uaccess.h */
        if (len > TASK_SIZE - PAGE_SIZE)
                return -ENOMEM;
-       if (ARCH_SUN4C && len > 0x20000000)
-               return -ENOMEM;
        if (!addr)
                addr = TASK_UNMAPPED_BASE;
 
@@ -65,10 +63,6 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, unsi
 
        for (vmm = find_vma(current->mm, addr); ; vmm = vmm->vm_next) {
                /* At this point:  (!vmm || addr < vmm->vm_end). */
-               if (ARCH_SUN4C && addr < 0xe0000000 && 0x20000000 - len < addr) {
-                       addr = PAGE_OFFSET;
-                       vmm = find_vma(current->mm, PAGE_OFFSET);
-               }
                if (TASK_SIZE - PAGE_SIZE - len < addr)
                        return -ENOMEM;
                if (!vmm || addr + len <= vmm->vm_start)
@@ -99,11 +93,6 @@ out:
 
 int sparc_mmap_check(unsigned long addr, unsigned long len)
 {
-       if (ARCH_SUN4C &&
-           (len > 0x20000000 ||
-            (addr < 0xe0000000 && addr + len > 0x20000000)))
-               return -EINVAL;
-
        /* See asm-sparc/uaccess.h */
        if (len > TASK_SIZE - PAGE_SIZE || addr + len > TASK_SIZE - PAGE_SIZE)
                return -EINVAL;
index 09d6af22db2d76c0f3a660cd9783481fb8c43a47..1b7aa565497e4c54d4e3731ed9f24b6f78ad8929 100644 (file)
@@ -19,7 +19,6 @@
 
 extern char *srmmu_name;
 static char version[] __initdata = "Boot time fixup v1.6. 4/Mar/98 Jakub Jelinek (jj@ultra.linux.cz). Patching kernel for ";
-static char str_sun4c[] __initdata = "sun4c\n";
 static char str_srmmu[] __initdata = "srmmu[%s]/";
 static char str_iommu[] __initdata = "iommu\n";
 static char str_iounit[] __initdata = "io-unit\n";
@@ -81,15 +80,11 @@ void __init btfixup(void)
        if (!visited) {
                visited++;
                printk(version);
-               if (ARCH_SUN4C)
-                       printk(str_sun4c);
-               else {
-                       printk(str_srmmu, srmmu_name);
-                       if (sparc_cpu_model == sun4d)
-                               printk(str_iounit);
-                       else
-                               printk(str_iommu);
-               }
+               printk(str_srmmu, srmmu_name);
+               if (sparc_cpu_model == sun4d)
+                       printk(str_iounit);
+               else
+                       printk(str_iommu);
        }
        for (p = ___btfixup_start; p < ___btfixup_end; ) {
                count = p[2];
index 734812105266c1d9826d7015eacae14a1ea42657..a0f4db9d3a4f4b5b5e12e6b151fe9e7c39ec991e 100644 (file)
@@ -235,7 +235,7 @@ asmlinkage void do_sparc_fault(struct pt_regs *regs, int text_fault, int write,
         * nothing more.
         */
        code = SEGV_MAPERR;
-       if (!ARCH_SUN4C && address >= TASK_SIZE)
+       if (address >= TASK_SIZE)
                goto vmalloc_fault;
 
        /*