[OpenAFS-devel] Fixed 1.5.14 for PowerPC 32, but confused over ppc64 support

Jim Doyle jrdremote@yahoo.com
Mon, 5 Feb 2007 16:20:51 -0800 (PST)


For those who didnt notice, support in 1.4.2
and 1.5.14 was broken for the ppc_linux26 platform.
The problem is easily fixed by tweaking the build
of liblwp.a to bring in the PPC assember from
process.s
rather than attempting to use the process.c (ucontext)
code. Prior to this fix, all userland tools (fs, vos,
servers, etc) would break with a characteristic LWP
fault.

For the past weekend, I've been running a fileserver
and database servers on a Kurobox. (www.kurobox.com).
The fixes to ppc_linux26 will now permit use of AFS
on "appliance" sized devices. Other platforms besides
Kurobox include the Buffalo Linkstation NAS servers,
the IOMega StoreCenter and the Western Digital NAS
boxes (all run PPC 603es with varying amts of SDRAM
and Flash). Other NAS appliance boxes on the market
run ARM and MIPS R4000. 

I'm happy to run the deltas back into the main tree,
however, my changes will possibly break when run on
PPC64 boxes. Why?  The assembler in process.s assumes
32-bit registers. This would result in linked userland
executables that would coredump on a ppc64 box. We
can either segregate the machine types to ppc32/ppc64
or come up with a portable process.s that is 64-bit
clean.

How to proceed with complete PPC support ??

I dont have access to a ppc64 machine, but I'd be
happy to collaborate with someone and provide access
to my box and cell for joint build and test duty.

In addition, we need to look at process.s. It fails
to save the FPU registers (probably not an issue with
AFS binaries) and it doesnt support PPC extensions
like
AltiVEC.

-- Jim