Re: [RFC PATCH 0/3] kernel: add support for 256-bit IO access

From: Linus Torvalds
Date: Mon Mar 19 2018 - 12:29:50 EST


On Mon, Mar 19, 2018 at 8:53 AM, David Laight <David.Laight@xxxxxxxxxx> wrote:
>
> The x87 and SSE registers can't be changed - they can contain callee-saved
> registers.
> But (IIRC) the AVX and AVX2 registers are all caller-saved.

No.

The kernel entry is not the usual function call.

On kernel entry, *all* registers are callee-saved.

Of course, some may be return values, and I have a slight hope that I
can trash %eflags. But basically, a system call is simply not a
function call. We have different calling conventions on the argument
side too. In fact, the arguments are in different registers depending
on just *which* system call you take.

Linus