Messages in this thread | | | Date | Fri, 22 May 2015 13:59:32 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH v2] x86: Stop relying on magic jmp behavior for early_idt_handlers |
| |
On 05/21/2015 11:51 PM, Andy Lutomirski wrote: >>> >>> #ifdef __KERNEL__ >>> + >>> +/* >>> + * early_idt_handlers is an array of entry points. For simplicity, it's >>> + * a real array. We allocate nine bytes for each entry: two one-byte >>> + * push instructions and a five-byte jump in the worst case. >>> + */ >>> +#define EARLY_IDT_HANDLER_STRIDE 9 >> >> So how come that two plus five equals nine? ;-) > > A "one-byte push" would be pretty impressive :) >
Well, non-REX register pushes are just one byte. However, these take an immediate constant.
>> >> Ditto for the 64-bit side. > > Sounds good. I'll do all this tomorrow and resend. >
Thank you! Since I trust you, I'll send you this in advance:
Acked-by: H. Peter Anvin <hpa@linux.intel.com>
| |