Tony Lindgren wrote:
> Also, I wonder if the change __kuser_get_tls is safe?
> 
> +     ldr     r0, [pc, #(16 - 8)]             @ TLS set at 0xffff0ff0?
> +     cmp     r0, #0                          @ assume hw TLS if not set
> +     mrceq   p15, 0, r0, c13, c0, 3          @ read TLS register

You cannot assume the TLS value is non-zero, because it's provided by
userspace to use however it wants.  It doesn't even have to be an address.

I'm thinking, why not an alternative() macro like on x86, which is a
very nice way to describe run-time patches of one or a few instructions
which depend on arch feature bits.

Then all that switch_to() logic could be made the size it was before.

An alternative() macro could make a lot of other chip-dependent calls
smaller too, i.e. all those which dispatch through function pointers
at present for cache flushing etc - they could become direct calls, or
an inline instruction or two when possible.

-- Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to