I'm using pcmcia_cs in an embedded environment
together with rtai realtime extention. Pcmcia_cs
Configure is not reading CONFIG_RTHAL from
.config in the kernel tree, so after including
asm/system.h the pcmcia modules are using the hard cli() and sti() makros and damage the hard realtime behaviour of the rtai extention.
The Configure script has to be extended by to prevent this.
Arno
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Please propose a fix. I only try to keep up with standard kernels; I can't also track kernel extensions. Note that if you are using the (recommended) kernel PCMCIA subsystem then this is not an issue.
-- Dave
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Is there any way to detect the rtai extension at run time, to avoid adding another flag to configure? (i.e. any symbol in /proc/ksyms, or anything that shows up in /proc?)
-- Dave
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, there is /proc/rtai and in /proc/ksyms you will find f.e. rt_printk.
But it should also work for cross development, where you only have the targets kernel tree!
Arno
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
For cross compilation, the kernel tree has to be configured correctly for the target, and the "configcheck" will pull the CONFIG_RTHAL option from the kernel configuration. Checking ksyms or /proc is only desirable for when the kernel tree is unconfigured and you want to get the configuration of the running kernel.
-- Dave
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ok, a better choice than rt_printk would be
rthal, because this would also work for RTLinux, the other realtime extension for Linux. I think
that it uses the same RTHAL.
This should be looked up in System.map to work
also in cross environments.
Arno
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm using pcmcia_cs in an embedded environment
together with rtai realtime extention. Pcmcia_cs
Configure is not reading CONFIG_RTHAL from
.config in the kernel tree, so after including
asm/system.h the pcmcia modules are using the hard cli() and sti() makros and damage the hard realtime behaviour of the rtai extention.
The Configure script has to be extended by to prevent this.
Arno
Please propose a fix. I only try to keep up with standard kernels; I can't also track kernel extensions. Note that if you are using the (recommended) kernel PCMCIA subsystem then this is not an issue.
-- Dave
--- Configure_org Thu Dec 4 18:25:23 2003
+++ Configure Mon Apr 5 11:19:59 2004
@@ -127,6 +127,7 @@
--nocardbus) CONFIG_CARDBUS=n ;;
--pnp) CONFIG_PNP_BIOS=y ;;
--nopnp) CONFIG_PNP_BIOS=n ;;
+ --rthal) CONFIG_RTHAL=y ;;
--apm) USE_PM=y ;;
--noapm) USE_PM=n ;;
--x11) USE_X11=y ;;
@@ -550,6 +551,7 @@
printflag " Frame Diverter" CONFIG_NET_DIVERT
printflag "Module version checking" CONFIG_MODVERSIONS
printflag "Kernel debugging support" CONFIG_DEBUG_KERNEL
+ printflag "Realtime Hardware Abstraction Layer" CONFIG_RTHAL
if [ "$CONFIG_DEBUG_KERNEL" = "y" ] ; then
printflag " Memory leak detection support" CONFIG_MEMLEAK
printflag " Spinlock debugging" CONFIG_DEBUG_SPINLOCK
@@ -734,7 +736,7 @@
for C in PCI SCSI SERIAL INET NET_FASTROUTE NET_RADIO NET_DIVERT \ TR MODVERSIONS PROC_FS PARPORT PARPORT_PC PARPORT_PC_PCMCIA \ IEEE1394 NET_PCMCIA_RADIO KERNEL_DEBUGGING MEMLEAK PREEMPT \ - DEBUG_KERNEL DEBUG_SPINLOCK PREEMPT HIGHMEM X86_PAE ; do
+ DEBUG_KERNEL DEBUG_SPINLOCK PREEMPT HIGHMEM X86_PAE RTHAL; do
configcheck $C
done
if [ "$NEED_HZ" = "y" ] ; then
Arno
Is there any way to detect the rtai extension at run time, to avoid adding another flag to configure? (i.e. any symbol in /proc/ksyms, or anything that shows up in /proc?)
-- Dave
Yes, there is /proc/rtai and in /proc/ksyms you will find f.e. rt_printk.
But it should also work for cross development, where you only have the targets kernel tree!
Arno
For cross compilation, the kernel tree has to be configured correctly for the target, and the "configcheck" will pull the CONFIG_RTHAL option from the kernel configuration. Checking ksyms or /proc is only desirable for when the kernel tree is unconfigured and you want to get the configuration of the running kernel.
-- Dave
Ok, a better choice than rt_printk would be
rthal, because this would also work for RTLinux, the other realtime extension for Linux. I think
that it uses the same RTHAL.
This should be looked up in System.map to work
also in cross environments.
Arno
But it only did so after I added RTHAL to the C variable.
Arno
Err I don't know what this refers to.
The 08-Apr-04 beta should fix this issue.
-- Dave