linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* cache control functions
@ 2003-03-12 19:02 Eric Seppanen
  2003-03-12 19:22 ` Matt Porter
  2003-03-19  6:26 ` Kenal Panic Kamaraj P
  0 siblings, 2 replies; 6+ messages in thread
From: Eric Seppanen @ 2003-03-12 19:02 UTC (permalink / raw)
  To: linuxppc-embedded


I'm writing a driver module, for a pci device that lives in a 405GPr
based system.  I notice that the 405 doesn't seem to have a consistent
cache after the pci device busmasters a bunch of data into SDRAM (or
before it pulls data out), so I think the thing I'm supposed to do is
call (depending on direction) one of these:
 invalidate_dcache_range
 clean_dcache_range
 flush_dcache_range
or what seems to be the equivalent, but cross-platform names
 dma_cache_inv
 dma_cache_wback
 dma_cache_wback_inv
 (these are just macros calling the first three; include/asm-ppc/io.h)

But invalidate_dcache_range and clean_dcache_range are never exported,
so they're unavailable to modules.  (and means that dma_cache_inv and
dma_cache_wback are unavailable as well.)

Is this intentional or an oversight?  I can't see how I can write a
driver for a busmaster device (that will work on a 405) without them.

Eric

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread
* Re:  Kenal Panic
@ 2003-03-24  3:22 Milton D. Miller II
  0 siblings, 0 replies; 6+ messages in thread
From: Milton D. Miller II @ 2003-03-24  3:22 UTC (permalink / raw)
  To: linuxppc-embedded; +Cc: kamarajp


Kamaraj wrote:
>I am getting this Kernel Panic message when I invoke ping flood from MPC8xx
>Oops: Kernel Mode Software FPU Emulation, sig: 8
>NIP: C00292BC XER: C0001D7F LR: C00292BC SP: C3A07BC0 REGS: c3a07b10

A floating point trap could be one of several things, including

1) a device driver that specifies floating point numbers (the kernel is
   not allowed to use floating point).

2) a compiler mis-configured to use floating point registers for structure
   copy

3) A device or driver is scribling on memory

4) Your memory bus or controller is not configured correctly or your board
   is getting noise, corrupting memory.

1 and 2 can be eliminated by checking the instruction at NIP in your vmlinux,
possibly by objdump.   3 would tend to be unlikely at the low address but
not impossible.

milton

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-03-24  3:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-12 19:02 cache control functions Eric Seppanen
2003-03-12 19:22 ` Matt Porter
2003-03-12 21:12   ` ramdisk source Prakash kanthi
2003-03-12 21:41     ` Wolfgang Denk
2003-03-19  6:26 ` Kenal Panic Kamaraj P
  -- strict thread matches above, loose matches on Subject: below --
2003-03-24  3:22 Milton D. Miller II

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).