Re: Compat 32-bit syscall entry from 64-bit task!?

From: H. Peter Anvin
Date: Wed Jan 18 2012 - 16:50:05 EST


On 01/18/2012 01:42 PM, Linus Torvalds wrote:
> On Wed, Jan 18, 2012 at 1:30 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
>>
>> I would have assumed it would be a new register set (which could be
>> expanded in the future if we have additional system information to provide.)
>
> Well, I really don't think we want to expose much. In fact, I'd argue
> we should expose as little as humanly possible.
>
> Which at this point is literally just a single bit (and effectively
> another bit to say "we support the new feature").
>
> So...
>

I actually think we need to also have a bit for some of the 32-bit entry
point differences, since the registers have different meanings for them.
We have kluges in place for them, but those kluges cause their own
problems when registers are modified.

So that means at least four states (SYSCALL64, SYSENTER, SYSCALL32, INT
80) plus the presence bit. Furthermore, three out of those states apply
even to pure 32-bit kernels.

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/