On 06/01/2015 15:32, Ralf Baechle wrote: > On Sat, May 23, 2015 at 11:17:25PM -0400, Joshua Kinard wrote: > >> I even got the IRQs to be fanned out across both CPUs. Well, primarily the >> qla1280 drivers. They randomly hop between both CPUs, but no ill effects so far. >> >> But if I boot that *same* working kernel on an R14000 dual module, I get handed >> an IBE as soon as the userland mounts. The only documented differences that I >> can find on the R14000 is that it supports DDR memory, being able to do memory >> operations on the rising edge and falling edge of each clock. Not sure if that >> matters to the kernel at all, but I know of nothing else that describes the >> R14K's internals, such as if there's some new bit in CP0 config, >> branch-diagnostic, status, etc, that might explain why these IBE's are happening. >> >> Guess I need to hunt down my old dual R10K module next and verify that works >> fine... >> >> Also, is there a way to hardcode the cca=5 setting for IP30? Maybe it needs to >> be a hidden Kconfig item?. I tried setting cpu->writecombine in cpu-probe.c, >> but no dice there. If I boot an SMP kernel on dual R12K's w/o cca=5, I'll get >> one or two pretty-specific oopses. The one I did grab complains about bad >> spinlock magic in the core tty driver somewhere. I can transcribe that oops >> later on if interested. > > Can you insert something like: > > printk("c0_config: %08x\n", read_c0_config()); > > into a kernel and boot it without cca=5? I'm really curious what the > startup CCA is. > > Ralf It's cca=3 as the default. Wasn't there a patch long ago that made that the default? D I D S S S B S S E P P C D K C C 0 D 0 C S E K B C M E T N 0 ----------------------------------------------- xxx xxx x x xx xxx xxx x x x xxxx xx x x xx xxx 0x6c1ab3a3 011 011 0 0 00 011 010 1 0 1 1001 11 0 1 00 011 no cca 0x6c1ab3a5 011 011 0 0 00 011 010 1 0 1 1001 11 0 1 00 101 cca=5 I think cca=4 also works okay, but I have to test it a bit more. Which is the better one to stick with? --J