I am trying to read / write to device registers from my module on a Power PC # cat /proc/cpuinfo processor : 0 cpu : 8xx clock : 66MHz bus clock : 66MHz revision : 0.0 bogomips : 66.24 zero pages : total: 0 (0Kb) current: 0 (0Kb) hits: 0/0 (0%) The start (physical) address of register is 0x10100000 and extends for 0x3000. I can read these locations from ppcboot, but when I try from module running under Linux kernel, I get Oops: kernel access of bad area, sig: 11 NIP: C2811100 XER: A0000077 LR: C28110FC SP: C0991DC0 REGS: c0991d10 TRAP: 0300 MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 82811000, DSISR: 00012080 TASK = c0990000[15] 'insmod' Last syscall: 128 last math 00000000 last altivec 00000000 GPR00: C28110FC C0991DC0 C0990000 0000001A 82811000 00000001 C0100000 0000001A GPR08: C0E6F060 00000000 FFF02830 C0991D10 FFFFFFFF 1002D984 00FF1C00 007FFF1D GPR16: 00000000 00000001 00000000 00000001 00009032 00991E80 C0991DE8 C0E70600 GPR24: 00000003 00000060 C0991E4C 1002D858 FFFFFFEA FFF00000 C095A000 C2811000 Call backtrace: C28110FC C0010104 C00025BC 1002D858 10003578 1000462C 10004870 0FED9DBC 00000000 SIGSEGV The br4 and or4 registers are set in ppcboot for chip select and just before I try to access 0x10100000 memory location from module, these values are set (ratined) correctly. Address of immap->im_memctl.memc_br4 = fff00120 Address of immap->im_memctl.memc_or4 = fff00124 Contents of immap->im_memctl.memc_br4 = 10100801 Contents of immap->im_memctl.memc_or4 = ffff85a0 I have tried to access memory with physical address and also tried using virtuall address (__va()). What is I am missing ? Please help. ===== Usman S. Ansari Linux OS & Device Drivers __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/