Kernel oops when initializing ethernet driver

Patrick Huesmann tricknology at
Fri Aug 27 23:06:39 EST 2004


> > Interestingly, the kernel only crashes when accessing that one
> particular
> > register (at offset 0x0040). Every other register in that range can be
> > written to and read from w/o problems.
> So that sounds like a hardware problem, doesn't it.  This is one of those
> things where the FPGA has a hard PPC core and a bunch of VHDL
> peripherals?

Yes, exactly. The peripherals are connected to the PPC core via the OPB
(on-chip peripheral bus) and now I must assume that the address decode /
"chip" select logic within that OPB is buggy or not configured right.

> The good thing there is that the VHDL isn't much harder
> to fix than C code.  That would be my wild guess - the VHDL is not
> decoding the address correctly.

I don't even know if we have the VHDL source - the peripherals are
ready-to-go logic units that are just inserted in the FPGA design.

> However, also check that you are not accidentally writing past 0x0040.
> For instance, if 0x0040 is a byte address and you write 16 bits you'll
> be writing to 0x0040 and 0x0041.

It is a 32-bit access at 0x0040.


** Sent via the linuxppc-embedded mail list. See

More information about the Linuxppc-embedded mailing list