[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161123085640.GA7601@gmail.com>
Date: Wed, 23 Nov 2016 09:57:27 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Andy Lutomirski <luto@...capital.net>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Brian Gerst <brgerst@...il.com>,
Andy Lutomirski <luto@...nel.org>,
Matthew Whitehead <tedheadster@...il.com>,
"H. Peter Anvin" <hpa@...or.com>,
George Spelvin <linux@...izon.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
X86 ML <x86@...nel.org>
Subject: Re: What exactly do 32-bit x86 exceptions push on the stack in the
CS slot?
* Andy Lutomirski <luto@...capital.net> wrote:
> The SDM says:
>
> If the source operand is an immediate of size less than the operand size, a
> sign-extended value is pushed on the stack. If the source operand is a segment
> register (16 bits) and the operand size is 64-bits, a zero- extended value is
> pushed on the stack; if the operand size is 32-bits, either a zero-extended
> value is pushed on the stack or the segment selector is written on the stack
> using a 16-bit move. For the last case, all recent Core and Atom processors
> perform a 16-bit move, leaving the upper portion of the stack location
> unmodified.
>
> This makes me think that even new processors are quirky.
Oh well ...
Thanks,
Ingo
Powered by blists - more mailing lists