Subject: [PATCH] arm: Preserve TPIDRURW on context switch

From: [email-masked] (André Hentschel)
Date: Thu, 07 Feb 2013 00:01:23 +0100

Am 06.02.2013 23:51, schrieb Russell King - ARM Linux:
> On Wed, Feb 06, 2013 at 11:43:10PM +0100, Andr? Hentschel wrote:
>> There are more and more applications coming to WinRT, Wine could support them,
>> but mostly they expect to have the thread environment block (TEB) in TPIDRURW.
>> This register must be preserved per thread instead of being cleared.
> 
> I'd prefer this was done a little more sensitively to those CPUs where
> loads/stores are expensive, namely:
> 
>> +
>> +	@ preserve TPIDRURW register state
>> +	get_tls2	r3, r4, r5
>> +	str	r3, [r1, #TI_TP2_VALUE]
>> +	ldr	r3, [r2, #TI_TP2_VALUE]
>> +	set_tls2	r3, r4, r5
> 
> those two loads/stores get omitted from the thread switching if the CPU
> doesn't support it.  Do you think that's something you could do?

No, i'm not sure how to improve this. How does the process can continue, can you or someone else fix that and add his Signed-off-by?

-- 

Best Regards, Andr? Hentschel