This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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>



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]