I don't think the stack is the problem, the same stack is used for both the case that works and the one that doesn't! I only changed the attr.entry function pointer, the stack created is independent of which routine is about to be called. Terry
________________________________ From: [EMAIL PROTECTED] on behalf of Philippe Gerum Sent: Tue 3/8/2005 11:54 AM To: Reynolds, Terry (Contractor-SIMTECH) Cc: [email protected] Subject: Re: [Adeos-main] ppc64 switch_domain problem 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. _______________________________________________ Adeos-main mailing list [email protected] https://mail.gna.org/listinfo/adeos-main
