RE: [PATCH] Make KVM compile on split source/object kernel configurations

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

 



Alexander Graf wrote:
> On Sep 16, 2008, at 9:22 AM, Zhang, Xiantao wrote:
> 
>> Alexander Graf wrote:
>>> KVM as is assumes that the kernel obj dir and the kernel source dir
>>> are at the same location. This is true for most self-built vanilla
>>> kernels, but some distributions split these up (e.g. SUSE).
>>> To keep compatible and have users have a good experience on building
>>> KVM on any distribution, this patch attempts to rebuild the logic
>>> from the kernel Makefile as closely as possible. With it I
>>> successfully built KVM on a current SUSE system.
>>> 
>>> Signed-off-by: Alexander Graf <agraf@xxxxxxx>
>>> 
>>> Please check and see if it breaks the build process for anyone else.
>>> Building with IA64 on SUSE-kernels is still broken due to similar
>>> but separate problems.
>> 
>> Hi, Graf
>> 	what problems did you meet when building kvm/ia64 ?
>> Xiantao
> 
> 
> This is the list of stuff I had to modify to get kvm-74 to run. I
> haven't tried anything more recent yet.
> 
> 1) -mno-sdata does not work. Qemu CFLAGS need to be -msdata 

Which version of GCC are you using ? 

> 2) In qemu/ia64.ld SEARCH_DIR is invalid for SUSE. It shouldn't search
> in /usr/ia64-linux but in /usr/ia64-suse-linux.
You can make a patch to fix it. 

> 3) TARGET_PAGE_BITS is wrong
Currently, we just set TARGET_PAGE_BITS to 16 by hardcoding in Qemu. In
the future, we should add the logic to make it equal to kernel's
PAGE_SHIFT.  

> 4) kernel/ia64/Makefile.pre assumes to find .S files in $KERNELDIR.
> They are in $SOURCEDIR.

There is no issue here, I think.  You have to set corrent $KERNELDIR
through ./configure --kerneldir=xxxx once target machine and build
machine is not same.

> 5) kernel/ia64/Makefile.pre suffers from the same problem my original
> fix for x86 addressed.

Ditto. 

> 6) The IA64 kernel build system is broken. The file asm-ia64/nr-irqs.h
> gets generated during the kernel build, but is not exported as obj, so
> it won't be in the split obj directory. Since the source-dir is clean
> though, the file simply does not exist on SUSE rpms.

You mean the source-dir is clean ?  So the generated header files
including (linux/autoconf.h, asm-offsets.h...)should be removed wholely?
I don't think they can be built with a clean source for most modules. 

> I will attach the patch I use in our local buildsystem to make KVM
> compile on IA64. Please do not take this as fixes, most of them are
> simple workarounds and should rather be fixed properly. We were just
> hitting deadlines internally.
> 
> Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux KVM Devel]     [Linux Virtualization]     [Big List of Linux Books]     [Linux SCSI]     [Yosemite Forum]

  Powered by Linux