[Top] [All Lists]

Re: Help getting IP30/Octane fixed?

To: Kumba <>
Subject: Re: Help getting IP30/Octane fixed?
From: Johannes Dickgreber <>
Date: Sun, 10 May 2009 20:06:34 +0200
Cc: Linux MIPS List <>
In-reply-to: <>
Original-recipient: rfc822;
References: <>
User-agent: Thunderbird (X11/20090310)
Kumba schrieb:
> Well, I've been keeping the Octane/IP30 port alive for quite some time
> lately, but the bitrot in the code is making the functionality get
> progressively worse.  As of 2.6.30, the following will _not_ work:
> - SMP capabilities (hangs on boot)
This is whats wrong with SMP: from file include/asm/mach-ip30/heart.h

#define HEART_IMR(x)            ((volatile ulong *)0x900000000ff10000 + (8 * 

I schould be

#define HEART_IMR(x)            ((volatile ulong *)0x900000000ff10000 + (x))

or it schould be

#define HEART_IMR(x)            ((volatile ulong *) (0x900000000ff10000 + (8 * 

The IRQ MASK Register for the different CPUs are side by side.
In your version the factor 8 is used twice. First explicit inside the braces
and second, because of the pointer to ulong implicit done by the
I checked it by dissambling the code and my smp-kernel is working if i start
only with one cpu. With 2 cpus the smp-kernel is booting, but the init process
hangs then.

> 5012_2.6.22-ioc3-revert_commit_691cd0c.patch
> This is a reversal of a patch committed to upstream almost 2 years ago
> (possibly longer), which broke IOC3 (when using the above metadriver) by
> making Linux enforce adherence to the PCI specification (I think,
> anyways.  It's been too long).  Without reversing this patch, none of
> the IOC3 sub-devices are accessible.
> Original submission of it (with description) is here:
the revert is not needed anymore, because of code in arch/mips/pci/ops-bridge.c
look for the function emulate_ioc3_cfg
> 5041_2.6.30-ip30-octane-support-r28.patch
> This is the base code for the Octane port.  I've largely maintained it
> via bandaid fixes, but even bandaids can't keep a ship from sinking
> forever.  I managed to figure out the IRQ stuff to move Octane to using
> set_irq_and_chip_handler, which got it booting again, but this broke the
> Impact video driver, which will oops the kernel on initialization.  SMP
> code broke back in 2.6.24 due to improper conversion to dyntick, and
> I've never been able to figure out why, because my only SMP CPU module
> turned out to have died while in storage.
> So if anyone wants to help, take a look, and let me know if there are
> any questions.  I'll answer what I can.
> Thanks!,
I hope it helps

i have done some more work on the older patches and have a working kernel.
if someone wants this patch, i can send it.


<Prev in Thread] Current Thread [Next in Thread>