[parisc-linux] [RFC] using 64bit wide registers with 32bit kernel

James Bottomley James.Bottomley at SteelEye.com
Sat May 13 11:03:07 MDT 2006


On Sat, 2006-05-13 at 17:41 +0200, Thibaut VARENE wrote:
> 1) we claim what I'm trying to do should not be done on parisc-linux
> => using ldd/std, MAX2 and other insns that rely on 64bit regs should
> be prohibited by binutils for non-wide code (currently gcc/binutils
> happily build my code with -mpa-risc-2-0, which generates level 2.0
> non wide code)

I really don't think doubling the size of our register file on all tasks
and doubling the size of the saved registers on stack for interruptions
is really a sensible thing to do just so some multi-media extension can
be made to work.

> 2) we claim what I'm trying to do should be possible on parisc-linux
> => we need to fix context switching in 32bit kernels.
> 
> Comments?

There is a third possibility, and that's to execute the instruction in
the kernel where there wouldn't be a danger of context switches, where
the return values could be packaged properly and where it could be
emulated if necessary.  It would be nice to use a vDSO for this, but I
suspect Carlos' lightweight semaphore infrastructure can be pressed into
service for this.

James





More information about the parisc-linux mailing list