Reynolds, Terry (Contractor-SIMTECH) wrote:
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?

Since it switches stacks, __adeos_switch_domain() should probably be updated to switch the SLB appropriately then.

TIA! Terry Reynolds.
_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main


--

Philippe.

Reply via email to