Chris Clayton wrote: > On Saturday 14 July 2007, Anthony Liguori wrote: > >> Chris Clayton wrote: >> >>> Hi, >>> >>> I'm building kvm-29 on a system that is running linux-2.6.22.1-cfs-v19. >>> When the modules are built I get warnings about set_64bit: >>> >>> CC [M] /home/users/chris/rpm/BUILD/kvm-29/kernel/vmx-debug.o >>> CC [M] /home/users/chris/rpm/BUILD/kvm-29/kernel/kvm_main.o >>> CC [M] /home/users/chris/rpm/BUILD/kvm-29/kernel/mmu.o >>> /home/users/chris/rpm/BUILD/kvm-29/kernel/mmu.c: In function >>> 'set_shadow_pte': /home/users/chris/rpm/BUILD/kvm-29/kernel/mmu.c:202: >>> warning: implicit declaration of function 'set_64bit' >>> CC [M] /home/users/chris/rpm/BUILD/kvm-29/kernel/x86_emulate.o >>> CC [M] /home/users/chris/rpm/BUILD/kvm-29/kernel/anon_inodes.o >>> LD [M] /home/users/chris/rpm/BUILD/kvm-29/kernel/kvm.o >>> LD [M] /home/users/chris/rpm/BUILD/kvm-29/kernel/kvm-intel.o >>> LD [M] /home/users/chris/rpm/BUILD/kvm-29/kernel/kvm-amd.o >>> Building modules, stage 2. >>> MODPOST 3 modules >>> WARNING: "set_64bit" [/home/users/chris/rpm/BUILD/kvm-29/kernel/kvm.ko] >>> undefined! >>> CC /home/users/chris/rpm/BUILD/kvm-29/kernel/kvm-amd.mod.o >>> CC /home/users/chris/rpm/BUILD/kvm-29/kernel/kvm-intel.mod.o >>> CC /home/users/chris/rpm/BUILD/kvm-29/kernel/kvm.mod.o >>> LD [M] /home/users/chris/rpm/BUILD/kvm-29/kernel/kvm-amd.ko >>> LD [M] /home/users/chris/rpm/BUILD/kvm-29/kernel/kvm-intel.ko >>> LD [M] /home/users/chris/rpm/BUILD/kvm-29/kernel/kvm.ko >>> m >>> Because set_64bit is undefined, kvm.ko (and kvm-intel.ko) can't be >>> loaded. >>> >>> I've found the set_64bit in the kernel sources - it's a macro in >>> asm-i386/cmpxchg.h. The problem is that the macro(and some realted macros >>> and definitions are guarded by "#ifdef CONFIG_X86_CMPXCHG64". Since that >>> isn't defined for my kernel, set_64bit is not defined either. >>> >> KVM depends on CONFIG_X86_CMPXCHG64 which also depends on CONFIG_X86_PAE. >> >> > > To select that I have to specify (in make menuconfig) that I have more than 4 > gigabytes of RAM, when actually I have 2 gigabytes. It's the only way I can > find to get CONFIG_X86_PAE selected, but means I must ignore the help text > offered around CONFIG_HIGHMEM4G/64G. > > Have I got that right, please? >
Enabling HIGHMEM64G enables the use of PAE. Any processor that support virtualization supports PAE and there's very little harm to enabling it even if you have less than 4G of memory. Regards, Anthony Liguori > Thanks > > Chris > > >> Regards, >> >> Anthony Liguori >> >> >>> If I comment the guarding #ifdef (and its partner #endif) kvm builds fine >>> and everything seems to work OK.- the modules load and Damn Small Linux >>> and FreeBSD run fine. >>> >>> Any advice would be much appreciated and more than happy to test patches. >>> >>> I'm not subscribed, so please cc me. >>> >>> Thanks >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by DB2 Express >>> Download DB2 Express C - the FREE version of DB2 express and take >>> control of your XML. No limits. Just data. Click to get it now. >>> http://sourceforge.net/powerbar/db2/ >>> _______________________________________________ >>> kvm-devel mailing list >>> kvm-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/kvm-devel >>> > > > > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel