On 7/26/05, Darryl Dixon <[EMAIL PROTECTED]> wrote: > Hi All, Fabrice, > > Compiling the new kqemu-0.7.1 on Fedora Core 4 with kernel > 2.6.12-1.1398_FC4 gives this error: > > -------------8<------------------- > [EMAIL PROTECTED] kqemu]$ make > make -C /lib/modules/2.6.12-1.1398_FC4/build M=`pwd` modules > make[1]: Entering directory `/usr/src/kernels/2.6.12-1.1398_FC4-i686' > CC [M] /opt/src/qemu-0.7.1/kqemu/kqemu-linux.o > cp /opt/src/qemu-0.7.1/kqemu/kqemu-mod-i386.o > /opt/src/qemu-0.7.1/kqemu/kqemu-mod.o > LD [M] /opt/src/qemu-0.7.1/kqemu/kqemu.o > Building modules, stage 2. > MODPOST > Warning: could not find /opt/src/qemu-0.7.1/kqemu/.kqemu-mod.o.cmd > for /opt/src/qemu-0.7.1/kqemu/kqemu-mod.o > *** Warning: "__PAGE_KERNEL_EXEC" [/opt/src/qemu-0.7.1/kqemu/kqemu.ko] > undefined! > CC /opt/src/qemu-0.7.1/kqemu/kqemu.mod.o > LD [M] /opt/src/qemu-0.7.1/kqemu/kqemu.ko > make[1]: Leaving directory `/usr/src/kernels/2.6.12-1.1398_FC4-i686'
My understanding of the problem : on i386, in pgtable.h we have extern unsigned long long __PAGE_KERNEL, __PAGE_KERNEL_EXEC; #define PAGE_KERNEL_EXEC __pgprot(__PAGE_KERNEL_EXEC) an there is EXPORT_SYMBOL(__PAGE_KERNEL) but not for __PAGE_KERNEL_EXEC on x86_64 : #define __PAGE_KERNEL_EXEC \ (_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED) #define MAKE_GLOBAL(x) __pgprot((x) | _PAGE_GLOBAL) #define PAGE_KERNEL_EXEC MAKE_GLOBAL(__PAGE_KERNEL_EXEC) So, on i386 __PAGE_KERNEL_EXEC is an extern variable wich is not exported and not a macro. I wrote a patch on http://www.zarb.org/cgi-bin/viewcvs.cgi/plf/SPECS/non-free/dkms-kqemu/kqemu-0.7.1-PAGE_KERNEL_EXEC.patch?rev=1.1&view=markup but I don't know much kernel stuff so I have no idea how much it is broken :-) _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel