RE: UAPI for new arches (was Re: [GIT PULL] User API Disintegrate:Preparatory patches)

From: Vineet Gupta
Date: Thu Nov 08 2012 - 13:21:38 EST


> Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> wrote:

>> I'm planning to submit ARC Linux kernel port (from Synopsys) for review
>> on lkml and arch mailing lists. I already have a a 3.7-rc3 based kernel
>> (modulo the arch UAPI split). What would be the best way to get the UAPI
>> split done.
>>
>> Can you point me to the latest scripts and the best way to use them (so
>> we have consistent automated split of headers). Otherwise if you like,
>> you could take a stab at it yourself via my tree at
>>
>> git://github.com/organizations/foss-for-synopsys-dwc-arc-processors/linux.git
>> arc-3.7-rc3-newport

> If you look at:
>
> http://git.infradead.org/users/dhowells/linux-headers.git/shortlog/refs/tags/disintegrate-arc-20121108
>
> You'll find a branch with a patch that does the UAPI disintegration for you as
> one piece. I've merged your branch onto Linus's latest before doing the
> disintegration. If you'd prefer it directly on your branch, that should be
> possible too.

Hi David,

Many thanks for doing this. Looking at the disintegrated headers, I have some observations,
very likely due to shortcomings in my code, which need some clarifying.

While I'd done some of the prep work in my code such as splitting
__KERNEL__ && __ASSEMBLY__ into two separate lines, majority of orig headers
didn't have #ifdef __KERNEL__ guard despite the code not being meant for
user-space ABI. Is that fundamental to UAPI split scripting because it seems to be
causing setup.h to be in uapi despite seemingly being kernel internal only.
OTOH the missing guards seem to be benign for several other headers (e.g. bug.h)
Also there's an empty UAPI header generated (tlb.h) - again very likely due to the
missing guard.

Per you email from last week, When I ran the disintergrate-one.pl script myself I saw a
whole bunch of empty UAPI files being generated with references in orig header.
I'm not sure what I'm doing wrong.

For any ABI changes to headers per review of the new port on list (e.g. don't export pt_regs)
would mean moving the code manually from uapi to orig header - right. And if the file becomes
empty just nuke it completely.

How do you reckon we go about fixing these. I don't want to bother you multiple times
hence it would be best if I could reproduce this at my end.

thanks again for you help and time

-Vineet
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/