Menu

pcmcia_cs and rtai

Arno
2004-03-25
2004-04-09
  • Arno

    Arno - 2004-03-25

    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

     
    • David Hinds

      David Hinds - 2004-03-31

      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

       
    • Arno

      Arno - 2004-04-05

      --- 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

       
      • David Hinds

        David Hinds - 2004-04-05

        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

         
    • Arno

      Arno - 2004-04-06

      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

       
      • David Hinds

        David Hinds - 2004-04-06

        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

         
    • Arno

      Arno - 2004-04-06

      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

       
    • Arno

      Arno - 2004-04-07

      But it only did so after I added RTHAL to the C variable.

      Arno

       
      • David Hinds

        David Hinds - 2004-04-09

        Err I don't know what this refers to.

        The 08-Apr-04 beta should fix this issue.

        -- Dave

         

Log in to post a comment.