WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Re: [patch] Add kexec_ops & function pointers

On Tue, 2006-12-12 at 13:48 +0100, Gerd Hoffmann wrote:
> Ian Campbell wrote:
> > On Tue, 2006-12-12 at 16:12 +0900, Magnus Damm wrote:
> >> Basically, machine_kexec() should be converted to kexec_ops.kexec() in
> >> two places. The second place is unfortunately located in
> >> linux/kernel/sys.c which does not exist in sparse yet. So that needs
> >> to be resolved somehow.
> > 
> > Hiding the indirections through the function table in the header via
> > defines or inline functions would make things a lot cleaner in my
> > opinion and as a bonus avoid this addition to the sparse tree.
> 
> No.  As machine_kexec() continues to exist (and is the default for
> kexec_ops.kexec) you can't just turn that into a macro.  You have to
> either fix the two callers (as done by the patch) or rename the function
> to something different in arch/*/kernel/machine_kexec.c in order to be
> able to reuse the name for the macro.

Yes you may need to rename some bits. I was thinking of a solution where
you have foo_native, foo_xen0 and foo_xenU functions (or whatever) with
an inline foo() which calls through the function table to the correct
version.

Cheers,
Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel