[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable
- To: Zachary Amsden <zach@xxxxxxxxxx>
- From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
- Date: Mon, 19 Mar 2007 18:45:21 -0700
- Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, virtualization@xxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, rusty@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, chrisw@xxxxxxxxxxxx, Andi Kleen <ak@xxxxxx>, anthony@xxxxxxxxxxxxx, mingo@xxxxxxx, torvalds@xxxxxxxxxxxxxxxxxxxx, David Miller <davem@xxxxxxxxxxxxx>
- Delivery-date: Mon, 19 Mar 2007 18:48:55 -0700
- List-id: Xen developer discussion <xen-devel.lists.xensource.com>
Zachary Amsden wrote:
> Jeremy Fitzhardinge wrote:
>> If we then work out in each direction and see matched push/pops,
>> then we know what registers can be trashed in the call. This also
>> allows us to determine the callsite size, and therefore how much space
>> we need for inlining.
>>
>
> No, that is a very dangerous suggestion. You absolutely *cannot* do
> this safely without explicitly marking the start EIP of this code.
> You *must* use metadata to do that. It is never safe to disassemble
> backwards or "rewind" EIP for x86 code.
What do you mean the instruction before is "mov $0x52515000,%eax"?
Yeah, you're right. Oh well.
J
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|