qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Added uapi directory into linux-header


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH] Added uapi directory into linux-header
Date: Mon, 17 Dec 2012 16:08:48 +0100

On 17.12.2012, at 16:02, Bhushan Bharat-R65777 wrote:

> 
> 
>> -----Original Message-----
>> From: Alexander Graf [mailto:address@hidden
>> Sent: Monday, December 17, 2012 8:24 PM
>> To: Bhushan Bharat-R65777
>> Cc: qemu-devel qemu-devel; address@hidden List; Jan Kiszka; Peter Maydell
>> Subject: Re: [PATCH] Added uapi directory into linux-header
>> 
>> 
>> On 17.12.2012, at 15:51, Bhushan Bharat-R65777 wrote:
>> 
>>> 
>>> 
>>>> -----Original Message-----
>>>> From: Alexander Graf [mailto:address@hidden
>>>> Sent: Monday, December 17, 2012 7:45 PM
>>>> To: Bhushan Bharat-R65777
>>>> Cc: qemu-devel qemu-devel; address@hidden List; Bhushan
>>>> Bharat-R65777; Jan Kiszka; Peter Maydell
>>>> Subject: Re: [PATCH] Added uapi directory into linux-header
>>>> 
>>>> 
>>>> On 17.12.2012, at 05:08, Bharat Bhushan wrote:
>>>> 
>>>>> Linux ARCH specific header files are now in uapi/ directory also.
>>>>> These header files (epapr_hcalls.h on powerpc) are needed in qemu in
>>>>> linux-headers/uapi/asm/ directory as these are referenced by other
>>>>> header files in linux-headers/asm/.
>>>>> 
>>>>> This patch is about changing the scripts for same.
>>>>> 
>>>>> Signed-off-by: Bharat Bhushan <address@hidden>
>>>> 
>>>> Please include people who were participating in the discussion
>>>> previously in CC when you post a new version.
>>>> 
>>>>> ---
>>>>> configure                       |    1 +
>>>>> scripts/update-linux-headers.sh |   10 ++++++++++
>>>>> 2 files changed, 11 insertions(+), 0 deletions(-)
>>>>> 
>>>>> diff --git a/configure b/configure
>>>>> index 38b1cc6..51cce6b 100755
>>>>> --- a/configure
>>>>> +++ b/configure
>>>>> @@ -3724,6 +3724,7 @@ if test "$linux" = "yes" ; then
>>>>>   # For non-KVM architectures we will not have asm headers
>>>>>   if [ -e "$source_path/linux-headers/asm-$linux_arch" ]; then
>>>>>     symlink "$source_path/linux-headers/asm-$linux_arch"
>>>>> linux-headers/asm
>>>>> +      symlink "$source_path/linux-headers/uapi/asm-$linux_arch"
>>>>> + linux-headers/uapi/asm
>>>> 
>>>> This is still wrong. You want this guarded by another if [ -e ].
>>> 
>>> This is not wrong because ....
>>> 
>>>> 
>>>>>   fi
>>>>> fi
>>>>> 
>>>>> diff --git a/scripts/update-linux-headers.sh
>>>>> b/scripts/update-linux-headers.sh index 4c7b566..d40f9c4 100755
>>>>> --- a/scripts/update-linux-headers.sh
>>>>> +++ b/scripts/update-linux-headers.sh
>>>>> @@ -46,14 +46,24 @@ for arch in $ARCHLIST; do
>>>>> 
>>>>>   make -C "$linux" INSTALL_HDR_PATH="$tmpdir" SRCARCH=$arch
>>>>> headers_install
>>>>> 
>>>>> +    if ! [ -e "$output/linux-headers/uapi" ] ; then
>>>>> +        mkdir "$output/linux-headers/uapi"
>>>>> +    fi
>>>> 
>>>> ... which would mean you don't need this bit.
>>> 
>>> ... because here we ensure that the directory exists.
>> 
>> But that means we create a uapi directory for archs that don't have one, 
>> right?
> 
> Yes, I think that's the direction going forward (user specific header files 
> in uapi/).

Sure, but we shouldn't be faster than Linux itself here ;).

> 
>> 
>>> 
>>>> 
>>>>> +
>>>>>   rm -rf "$output/linux-headers/asm-$arch"
>>>>>   mkdir -p "$output/linux-headers/asm-$arch"
>>>>> +    rm -rf "$output/linux-headers/uapi/asm-$arch"
>>>>> +    mkdir -p "$output/linux-headers/uapi/asm-$arch"
>>>> 
>>>> Only if it exists, no?
>>> 
>>> Above it is ensured that the directory always exists ..
>>> 
>>>> 
>>>>> +
>>>>>   for header in kvm.h kvm_para.h; do
>>>>>       cp "$tmpdir/include/asm/$header" "$output/linux-headers/asm-$arch"
>>>>>   done
>>>>>   if [ $arch = x86 ]; then
>>>>>       cp "$tmpdir/include/asm/hyperv.h" "$output/linux-headers/asm-x86"
>>>>>   fi
>>>>> +    if [ $arch = powerpc ]; then
>>>>> +        cp "$linux/arch/$arch/include/uapi/asm/epapr_hcalls.h"
>>>> "$output/linux-headers/uapi/asm-$arch/"
>>>>> +    fi
>>>> 
>>>> Why is this pointing at $linux and not $tmpdir?
>>> 
>>> Because I found that $tmpdir does not have epapr_haclls.h, though I do not
>> know why ? any idea why ?
>> 
>> Smells like a kernel bug :). In fact, I remember that we used to forget
>> uapi/asm/epapr_hcalls.h in the header list a while ago.
> 
> I am not able to locate which command (set of commands) are installing the 
> header files (all/selectively header files of arch/powerpc/include/asm/ and 
> arch/powerp/include/uapi/asm/) in $tmpdir/

There is a make target headers_install to install user space headers into a 
directory. To be installed by this, the file needs to be listed in 
arch/powerpc/include/uapi/asm/Kbuild. Commit 
c99ec973a63e2249020d6d93a46d7572432da6a2 put it in there, so it should get 
installed...

> 
>> Are you sure you're
>> basing on the latest kvm code?
> 
> kvm-ppc-next branch of http://github.com/agraf/linux-2.6.git 

Yeah, that one is good :)


Alex




reply via email to

[Prev in Thread] Current Thread [Next in Thread]