[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-sparc
Subject:    Re: sparc64 with 32-bit user-space context switching question
From:       Mikael Pettersson <mikpe () it ! uu ! se>
Date:       2007-12-19 13:26:52
Message-ID: 18281.7196.837088.890811 () alkaid ! it ! uu ! se
[Download RAW message or body]

David Miller writes:
 > From: Mikael Pettersson <mikpe@it.uu.se>
 > Date: Tue, 18 Dec 2007 13:06:55 +0100
 > 
 > > My main question is: what does the kernel do to the
 > > high 32 bits of the 64-bit integer registers during
 > > context switches?
 > 
 > Only %oX and %gX registers have the full 64-bit preserved across
 > context switches for 32-bit processes.
 > 
 > The %lX and %iX registers cannot have their full 64-bits preserved
 > because the amount of save space is fixed by the register window save
 > area layout on the stack, which only saves 32-bit values for each
 > register.

>> Also, does anyone know what Solaris does to the
>> high 32 bits during context switches?
>
>Solaris handles things identically to Linux.
>
>These rules are even encoded into places like the
>GCC backend for sparc, when generating v9 code
>for 32-bit.

Thanks, this helps.

/Mikael
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic