patch for 2.6.14-rc1 for sb1
Hi,
Attached is a patch which makes 2.6.14-rc1 work on the sb1 core. It's nothing more then a rehash of some patches posted here earlier to make recent 2.6 kernels work on sb1.=20
Thanks,
Peter (p2).
Signature · 1 line
goa is a state of mind
arch/mips/kernel/cpu-probe.c +2 -0
@@ -612,6 +612,8 @@switch (c->processor_id &0xff00 ) {case PRID_IMP_SB1 : c->cputype =CPU_SB1 ; + c->options &= ~MIPS_CPU_4KTLB ; + c->options |=MIPS_CPU_TLB ;#ifdef CONFIG_SB1_PASS_1_WORKAROUNDS /* FPU in pass1 is known to have issues. */ c->options &= ~(MIPS_CPU_FPU |MIPS_CPU_32FPR );
arch/mips/mm/cache.c +2 -0
@@ -122,6 +122,8 @@defined (CONFIG_CPU_MIPS64_R1 ) ||defined (CONFIG_CPU_TX49XX ) || \ defined(CONFIG_CPU_RM7000) || defined(CONFIG_CPU_RM9000)ld_mmu_r4xx0 (); +#else +panic ("Unknown CPU with r4k TLB" );#endif }else switch (current_cpu_data.cputype) {#ifdef CONFIG_CPU_R3000
arch/mips/sibyte/sb1250/irq.c +4 -11
@@ -53,7 +53,7 @@static unsigned int startup_sb1250_irq (unsigned int irq);static void ack_sb1250_irq (unsigned int irq);#ifdef CONFIG_SMP -static void sb1250_set_affinity (unsigned int irq,unsigned long mask); +static void sb1250_set_affinity (unsigned int irq,cpumask_t mask);#endif #ifdef CONFIG_SIBYTE_HAS_LDT
@@ -117,23 +117,16 @@ }#ifdef CONFIG_SMP -static void sb1250_set_affinity (unsigned int irq,unsigned long mask) +static void sb1250_set_affinity (unsigned int irq,cpumask_t mask) {int i =0 , old_cpu, cpu, int_on;u64 cur_ints;irq_desc_t *desc = irq_desc + irq;unsigned long flags; -while (mask) { -if (mask &1 ) { - mask >>=1 ; -break ; - } - mask >>=1 ; - i++; - } + i =first_cpu (mask); -if (mask) { +if (cpus_weight (mask) >1 ) {printk ("attempted to set irq affinity for irq %d to multiple CPUs\n" , irq);return ; }