[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Unknown symbol __PAGE_KERNEL_EXEC
From: |
Pascal Terjan |
Subject: |
Re: [Qemu-devel] Unknown symbol __PAGE_KERNEL_EXEC |
Date: |
Tue, 26 Jul 2005 07:56:18 +0200 |
On 7/26/05, Darryl Dixon <address@hidden> 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<-------------------
> address@hidden 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 :-)