Messages in this thread | | | Subject | RE: [kvm-ia64-devel] [PATCH] ia64 kvm fixes for O=... builds | Date | Sun, 4 May 2008 09:01:54 +0800 | From | "Zhang, Xiantao" <> |
| |
Hi, Airo Currenlty, We only allow CONFIG_KVM_INTEL = m , since it needs to be relocated at insertion time. Xiantao Al Viro wrote: > On Mon, Apr 28, 2008 at 03:14:02PM +0100, Al Viro wrote: >> On Mon, Apr 28, 2008 at 09:46:44PM +0800, Zhang, Xiantao wrote: >>>> kvm-intel-objs = vmm.o vmm_ivt.o trampoline.o vcpu.o optvfault.o >>>> mmio.o \ vtlb.o process.o #Add link memcpy and memset to avoid >>>> possible structure assignment error -kvm-intel-objs += memset.o >>>> memcpy.o +kvm-intel-objs += ../lib/memset.o ../lib/memcpy.o >>>> obj-$(CONFIG_KVM_INTEL) += kvm-intel.o >>> >>> I don't think it is workable for kvm-ia64. Currently, kvm-intel >>> module needs to be relocated at insertion time, so the code is >>> position-indenpent. Howerver, lib/*.memset.o(memcoy.o) are not >>> compiled as position independent code, they can't be linked into >>> the module correctly in your way. That is why we use symbol link >>> instead of linking the objects under /lib. >> >> symlinks won't work as you use them. If you really need separately >> compiled, use file with a couple of #include "../lib/......S" and >> be done with that. > > ... like this, perhaps? I still wonder what will happen with either > this or the original tree if you make CONFIG_KVM_INTEL=y, though - > won't either variant give you duplicate symbols? > > diff --git a/arch/ia64/kvm/Makefile b/arch/ia64/kvm/Makefile > index 5235339..e7b9432 100644 > --- a/arch/ia64/kvm/Makefile > +++ b/arch/ia64/kvm/Makefile > @@ -54,5 +54,5 @@ EXTRA_CFLAGS_vcpu.o += -mfixed-range=f2-f5,f12-f127 > kvm-intel-objs = vmm.o vmm_ivt.o trampoline.o vcpu.o optvfault.o > mmio.o \ vtlb.o process.o > #Add link memcpy and memset to avoid possible structure assignment > error -kvm-intel-objs += ../lib/memset.o ../lib/memcpy.o > +kvm-intel-objs += memset.o memcpy.o > obj-$(CONFIG_KVM_INTEL) += kvm-intel.o > diff --git a/arch/ia64/kvm/memcpy.S b/arch/ia64/kvm/memcpy.S > new file mode 100644 > index 0000000..c04cdbe > --- /dev/null > +++ b/arch/ia64/kvm/memcpy.S > @@ -0,0 +1 @@ > +#include "../lib/memcpy.S" > diff --git a/arch/ia64/kvm/memset.S b/arch/ia64/kvm/memset.S > new file mode 100644 > index 0000000..83c3066 > --- /dev/null > +++ b/arch/ia64/kvm/memset.S > @@ -0,0 +1 @@ > +#include "../lib/memset.S"
| |