Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable
From: Ingo Molnar <hidden>
Date: 2007-03-16 09:26:19
Also in:
lkml, xen-devel
From: Ingo Molnar <hidden>
Date: 2007-03-16 09:26:19
Also in:
lkml, xen-devel
* Jeremy Fitzhardinge [off-list ref] wrote:
Wrap a set of interesting paravirt_ops calls in a wrapper which makes the callsites available for patching. Unfortunately this is pretty ugly because there's no way to get gcc to generate a function call, but also wrap just the callsite itself with the necessary labels. This patch supports functions with 0-4 arguments, and either void or returning a value. 64-bit arguments must be split into a pair of 32-bit arguments (lower word first). Small structures are returned in registers.
ugh. This is beyond ugly! Why dont we just compile two images, one for Xen and one for native, do two passes to get those two images and 'merge' them into a single vmlinuz (so that we still have a 'single' kernel unit to deal with on the distro side). This way we avoid all this crazy, limited, fragile patchery business... Ingo