Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable

Ingo Molnar
2007-03-16T09:26:19Z

* Jeremy Fitzhardinge <jeremy@goop.org> 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