On 11.10.2012, at 11:27, David Howells wrote: > Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > >> I just removed epapr_hcalls.h from the Kbuild file as I am not sure how >> it should be broken up. David, can you have a look at this, please? > > Files should be broken up along around __KERNEL__ conditionals. If there are > no __KERNEL__ conditionals, it is assumed that the file is entirely UAPI and > can just be moved. > > The problem appears to be this commit: > > https://github.com/agraf/linux-2.6/commit/4c09029a5639c955fcf6d65205796e4f1208aed3 > > From: Liu Yu <yu.liu@xxxxxxxxxxxxx> > Subject: KVM: PPC: Add support for ePAPR idle hcall in host kernel > > Just makes epapr_hcalls.h part of the userspace API in its entirety by this bit > of the patch: > > +header-y += epapr_hcalls.h > > whilst not adding any __KERNEL__ guards - which is almost certainly incorrect. > > At the very least, I would say that the global variable declarations need > limiting to kernel space, and thus so do the inline functions as they emit > inline assembly to jump somewhere specified by one of the global variables > (actually a code array). > > So for manual splitting purposes, I would go with just moving all the #defines > prior to the __ASSEMBLY__ guard out to uapi. Everything within the > __ASSEMBLY__ guard is KABI only by the looks of it. Do I have to move them to their own header file or can I just #ifdef __KERNEL__ around the place where __ASSEMBLY__ starts to the end of the file? Alex -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html