Hi All,
 
Are there any ppc64 gurus lurking out there?  My port to ppc64 has a severe 
problem.  When attempting to register a new domain, as in the RTAI testsuite's 
latency example, the switch to the new domain fails on the branch to 
rthal_domain_entry.  It suffers an "unrecoverable FP unavailable exception 800 
at 0xd0000..." which is the location of the attr.entry for the link to that 
function.
 
The code has no floating point code in it, so it must be pulling up some 
garbage instruction that isn't actually at that location.  I made a new 
function rthal_domain_entry2 which is included in the kernel, it's in the same 
file as the __adeos_init_domain function (/adeos/ppc64.c for my port).  It's 
address is a kernel code 'like' 0xc0000...  The switch domain to that function 
works fine!
 
I think the branch to lr works for the kernel address, but not the loaded 
module one because of some problem with the SLB.  The ppc64 _switch function 
does modify the memory management hardware if the ESID is different for the 
task being switched to.
 
Anyone have an idea on how to correct this problem?
 
 
TIA!
 
Terry Reynolds.
 
 

Reply via email to