* [Xenomai-help] Xenomai install problem?
@ 2008-08-15 2:41 Steve Shumway
2008-08-15 12:06 ` Gilles Chanteperdrix
0 siblings, 1 reply; 3+ messages in thread
From: Steve Shumway @ 2008-08-15 2:41 UTC (permalink / raw)
To: xenomai
Hello;
I'm trying to write a RTDM driver, and I can't seem to get it to
compile. I suspect that it has something to do with my installation of
Xenomai, or the kernel patch. Here's what the offending code looks like:
---------------
/*!
* @file irqcontrol_driver.c
*
* @brief RTDM IRQ Control Driver
* @version 0.1
*
*
*
*
*
*
*
* FPGA Interrupt 7 Control
*
* I/O Address: 0x32D
*
* Bit 3: Digital Input 7 Interrupt Enable Read/Write
* Bit 2: Timing Input Interrupt Enable Read/Write
* Bit 1: Interrupt caused by digital Input 7 Read Only
* Bit 0: Interrupt caused by timing input Read Only
*/
//#define DEBUG_IRQCONTROL_DRVR 1
#include <linux/kernel.h>
#include <rtdm/rtdm_driver.h>
#include "xchan_fpga.h"
#define IRQ7CTL_SUB_CLASS 4711
---------------
There is obviously more to the driver. I will gladly post more of it
should anyone request, it looks to me like posting more of it would be a
waste of time though. The problem looks to be with the "#include
<rtdm/rtdm_driver.h>" line. This is line 26 in the source file that the
compiler is complaining about.
The error message from the compile step is:
gcc -O2 -Wall -DMODULE -D__KERNEL__ -DLINUX -I/usr/src/linux/include
-I/usr/src/linux/include/xenomai/compat -I/usr/xenomai/include -c -o
irqcontrol_driver.o irqcontrol_driver.c
In file included from /usr/src/linux/include/linux/prefetch.h:14,
from /usr/src/linux/include/linux/list.h:8,
from /usr/xenomai/include/rtdm/rtdm_driver.h:35,
from irqcontrol_driver.c:26:
/usr/src/linux/include/asm/processor.h:102: error:
'CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
/usr/src/linux/include/asm/processor.h:102: error: requested alignment
is not a constant
/usr/src/linux/include/asm/processor.h: In function 'load_cr3':
/usr/src/linux/include/asm/processor.h:162: error:
'CONFIG_PAGE_OFFSETUL' undeclared (first use in this function)
/usr/src/linux/include/asm/processor.h:162: error: (Each undeclared
identifier is reported only once
/usr/src/linux/include/asm/processor.h:162: error: for each function it
appears in.)
/usr/src/linux/include/asm/processor.h: At top level:
/usr/src/linux/include/asm/processor.h:201: error: requested alignment
is not a constant
In file included from /usr/src/linux/include/asm/thread_info.h:4,
from /usr/src/linux/include/linux/thread_info.h:35,
from /usr/src/linux/include/linux/preempt.h:9,
from /usr/src/linux/include/linux/spinlock.h:49,
from /usr/src/linux/include/linux/seqlock.h:29,
from /usr/src/linux/include/linux/time.h:8,
from /usr/src/linux/include/linux/timex.h:57,
from /usr/src/linux/include/linux/sched.h:54,
from /usr/src/linux/include/linux/ptrace.h:80,
from /usr/src/linux/include/asm/xenomai/system_32.h:28,
from /usr/src/linux/include/asm/xenomai/system.h:2,
from /usr/xenomai/include/nucleus/types.h:39,
from /usr/xenomai/include/nucleus/stat.h:24,
from /usr/xenomai/include/nucleus/thread.h:130,
from /usr/xenomai/include/nucleus/pod.h:34,
from /usr/xenomai/include/nucleus/xenomai.h:23,
from /usr/xenomai/include/rtdm/rtdm_driver.h:37,
from irqcontrol_driver.c:26:
/usr/src/linux/include/asm/thread_info_64.h: In function
'current_thread_info':
/usr/src/linux/include/asm/thread_info_64.h:66: error: 'THREAD_SIZE'
undeclared (first use in this function)
/usr/src/linux/include/asm/thread_info_64.h: In function
'stack_thread_info':
/usr/src/linux/include/asm/thread_info_64.h:74: error: 'THREAD_SIZE'
undeclared (first use in this function)
In file included from /usr/src/linux/include/linux/preempt.h:9,
---------------
There's a bunch more to the error listing.
I've done a search of the /usr/source tree, and I can't find any
definition of the macro: "CONFIG_X86_L1_CACHE_SHIFT". In fact all of the
other errors in the compiler output are complaints about missing CONFIG_
symbols.
I know from my investigations that the kernel source tree does some
unusual stuff for the "autoconf.h" file which comes out of the "make
menuconfig" installation step. I just don't seem to be able to convince
the installation process to give me a properly constructed set of header
files.
The steps I used to install Xenomai are:
tar -xvzpf linux-2.6.25 tar -C /usr/src
tar -xvjpf xenomai-2.4.4.tar.bz2 -C /usr/src
cd /usr/src/xenomai-2.4.4
./scripts/prepare-kernel.sh \
--linux=/usr/src/linux-2.6.25 \
--arch=i686 \
--adeos=/usr/src/xenomai-2.4.4/ksrc/arch/x86/patches/adeos-ipipe-2.6.25-x86-2.0-08.patch
cd /usr/src/linux-2.6.25
make menuconfig
make bzImage modules
mkdir -p /usr/src/xeno-linux
cd /usr/src/xeno-linux
/usr/src/xenomai-2.4.4/configure
make install
---------------
The above procedure seems to complete without any complaints. I'm out of
ideas as to what I'm doing wrong. It seems like it must be something
simple, but I just don't see what that simple thing is.
Thanks in advance for any help you can provide.
Regards
Steve Shumway
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Xenomai-help] Xenomai install problem?
2008-08-15 2:41 [Xenomai-help] Xenomai install problem? Steve Shumway
@ 2008-08-15 12:06 ` Gilles Chanteperdrix
2008-08-15 22:13 ` Steve Shumway
0 siblings, 1 reply; 3+ messages in thread
From: Gilles Chanteperdrix @ 2008-08-15 12:06 UTC (permalink / raw)
To: Steve Shumway; +Cc: xenomai
Steve Shumway wrote:
> gcc -O2 -Wall -DMODULE -D__KERNEL__ -DLINUX -I/usr/src/linux/include
> -I/usr/src/linux/include/xenomai/compat -I/usr/xenomai/include -c -o
> irqcontrol_driver.o irqcontrol_driver.c
So, the compiler looks for headers in /usr/src/linux.
> tar -xvzpf linux-2.6.25 tar -C /usr/src
And you installed the kernel sources in /usr/src/linux-2.6.25
And by the way, are you trying to compile a module with gcc by hand ?
If, yes, then it is normal that you get problems. The official way to
compile modules with the 2.6 kernel is to use the way described in
/usr/src/linux-2.6.25/Documentation/kbuild/modules.txt
--
Gilles.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Xenomai-help] Xenomai install problem?
2008-08-15 12:06 ` Gilles Chanteperdrix
@ 2008-08-15 22:13 ` Steve Shumway
0 siblings, 0 replies; 3+ messages in thread
From: Steve Shumway @ 2008-08-15 22:13 UTC (permalink / raw)
To: Gilles Chanteperdrix; +Cc: xenomai
The problem was my lack of understanding about how to build a module.
The installation of linux+xenomai was ok.
Thanks
Steve
Gilles Chanteperdrix wrote:
> Steve Shumway wrote:
>> gcc -O2 -Wall -DMODULE -D__KERNEL__ -DLINUX -I/usr/src/linux/include
>> -I/usr/src/linux/include/xenomai/compat -I/usr/xenomai/include -c -o
>> irqcontrol_driver.o irqcontrol_driver.c
>
> So, the compiler looks for headers in /usr/src/linux.
>
>> tar -xvzpf linux-2.6.25 tar -C /usr/src
>
> And you installed the kernel sources in /usr/src/linux-2.6.25
>
> And by the way, are you trying to compile a module with gcc by hand ?
> If, yes, then it is normal that you get problems. The official way to
> compile modules with the 2.6 kernel is to use the way described in
> /usr/src/linux-2.6.25/Documentation/kbuild/modules.txt
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-08-15 22:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-15 2:41 [Xenomai-help] Xenomai install problem? Steve Shumway
2008-08-15 12:06 ` Gilles Chanteperdrix
2008-08-15 22:13 ` Steve Shumway
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.