linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Cache-inhibited region for certain exception handler(e500 chips, 2.4 kernel)?
@ 2006-02-15 22:06 Xianghua Xiao
  2006-02-15 23:25 ` Kumar Gala
  0 siblings, 1 reply; 5+ messages in thread
From: Xianghua Xiao @ 2006-02-15 22:06 UTC (permalink / raw)
  To: linuxppc-embedded

[-- Attachment #1: Type: text/plain, Size: 1067 bytes --]

Is there a way to put certain exception handler(e.g. machine check) on e500
to a cache-inhibited region? 
 
1. The e500 kernel puts exception handlers at the starting of the physical
memory.
2. All the physical memory are covered by a few TLB1s to do
0xc0000000-0x00000000 translation.
3. We can not add a new TLB1 to map a small piece of memory, because it has
boundary limitation(4K...256M). We can not use two TLB1 to overlap since it
will cause program error.
4. When we tried to move a handler(e.g. machine check) to a different
location, the kernel won't boot.
5. We don't want to map all the exceptional handlers to be cache inhibited,
say, the first 1MB, the performance will be horrible if we do so.
 
Is there a way at all to tweak things like this, i.e., put an exception
handler into a piece of memory that is cache-inhibited?
 
I also thought about use mlock/mmap on /dev/mem, move the specific exception
handler to a high address then use a separate TLB1 to cover it(need change
link script?),etc. 
 
Any suggestion is greatly appreciated.
 
xianghua
 

[-- Attachment #2: Type: text/html, Size: 2687 bytes --]

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

end of thread, other threads:[~2006-02-16  0:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-15 22:06 Cache-inhibited region for certain exception handler(e500 chips, 2.4 kernel)? Xianghua Xiao
2006-02-15 23:25 ` Kumar Gala
2006-02-15 23:50   ` PowerQUICC II Pro MPC8349E-MDS Linux 2.6 support David Hawkins
2006-02-15 23:45     ` Kumar Gala
2006-02-16  0:01       ` David Hawkins

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).