Subject: Re: PPC kernel hangs

From: Eugene Surovegin <[email-masked]>
Date: Tue, 12 Oct 2004 14:36:34 -0700

On Tue, Oct 12, 2004 at 02:24:50PM -0700, Rupesh S wrote:
> Hi,
> 
> To perform a Memory Mapped access of a device, I setup the OR and BR
> registers in the bootloader (u-boot). I am able to read and write to
> the device being in the u-boot prompt. However, when I try to access
> the device after the Linux kernel boots up (say, in a driver), it
> gives me a exception message as follows.
> #################################################################
> enabl0004, DSISR: 00000063
> TASK = c3ef4000[18] 'insmod' Last syscall: 128
> last math 00000000 last altivec 00000000
> GPR00: C60B0338 C3EF5E50 C3EF4000 60000004 00001032 00000001 C018009E C60B0000
> GPR08: C60B0BB8 C60B085C C60B0BBC C60B0000 C0180000 10056374 00000000 00000000
> 3
> TASK = c3ef4000[18] 'insmod' Last syscall: 128
> last math 00000000 last altivec 00000000
> GPR00: C60B0338 C3EF5E50 C3EF4000 60000004 00001032 00000001 C018009E C60B0000
> GPR08: C60B0BB8 C60B085C C60B0BBC C60B0000 C0180000 10056374 00000000 00000000
> GPR16: 00000000 00000000 00000000 00000000 00009032 C3EF5E98 10064EBC C3E2C000
> GPR24: C02EEA80 00000008 C60B2000 00000060 FFFFFFEA 00000000 C60B0000 C60B0000
> Call backtrace:
> 00000000 C60B0338 C0014DE4 C000447C 10050000 1000B27C 1000C344
> 10003CBC 100038C8 0FE70E88 00000000
> #################################################################
> 
> My platform is MPC880 Processor.
> 
> Do I need to setup something more in the kernel?

Did you use ioremap to get valid kernel virtual address for your 
device registers? You generally cannot just use physical address to 
access device from the device driver.

--
Eugene