This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

syslink.ko and iommu problem

Other Parts Discussed in Thread: SYSBIOS

Hello,

I use linux-2.6.37.6 kernel from kernel.org with omap2plus_defconfig configuration.I saw that people have problems with this iommu http://e2e.ti.com/support/dsp/omap_applications_processors/f/447/p/136557/569702.aspx and patch is necessary for omap3-iommu.c. But my kernel doesn't have this file, but has omap-iommu.c. So I commented in this file  /*#if defined(CONFIG_MPU_BRIDGE_IOMMU)*/  and associated /*#endif*/. (BTW I checked if kernel from AM35x-OMAP35x-LINUX-PSP-04.02.00.07 has omap3-iommu.c file, but there is also omap-iommu.c, and that line suggested to comment looks a bit diffrent. This is why I stayed with kernel from kernel.org.) I compiled it and made uImage.  Then I builded and installed Syslink with "make syslink; make examples; make install" commands and properly set products.mak file for beagleboard.

But I still have problem with syslink module:

root@beagleboard:~# insmod /lib/modules/2.6.37.6/kernel/drivers/dsp/syslink.ko TRACE=1 TRACEFAILURE=1
[  241.302856] syslink: Unknown symbol iopgtable_lookup_entry (err 0)
[  241.310241] syslink: Unknown symbol iopgtable_clear_entry (err 0)
[  241.319244] syslink: Unknown symbol iommu_put (err 0)
[  241.325897] syslink: Unknown symbol iopgtable_store_entry (err 0)
[  241.333801] syslink: Unknown symbol iommu_get (err 0)
insmod: error inserting '/lib/modules/2.6.37.6/kernel/drivers/dsp/syslink.ko': -1 Unknown symbol in module

Could you help with this?

  • I see in some threads that

    CONFIG_OMAP_IOMMU_IVA2=y

    in .config file is needed. But if I add this I get then:

    $make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm uImage
    scripts/kconfig/conf --silentoldconfig Kconfig
    #
    # configuration written to .config
    #

    and my .config is changed to some of default and there is no CONFIG_OMAP_IOMMU_IVA2=y option. How to do it?

  • Finally I have small success with kernel from PSP 04.02.00.07. I couldn't add into config CONFIG_OMAP_IOMMU_IVA2=y, but I commented out  in omap-iommu.c line:

    /* #if defined(CONFIG_OMAP_IOMMU_IVA2) */ 

    and

    /* #endif */

    Now when I try to install syslink module I get: http://pastebin.com/4HgTrRBP

    and:

    root@beagleboard:~# lsmod
    Module                  Size  Used by
    syslink              1082420  0

    And trying to run run.sh script in hello_world example I get (here is no beginning part, couldn't catch it, but there is all the time mentioned problem with ioremap): http://pastebin.com/nR4R5NT9

    And it stops, nothing more is shown.

    Here are last lines output when I tried to run "release" version of hello_world example, previous was "debug": http://pastebin.com/jtrqaXA6

    I have no more ideas how to run it :(

    Maybe someone could provide for me any set of software versions for any version of Syslink which I could use on classic Beagleboard C4 with success. Anything what is still downloadable and neccessary patches works.

  • Next part of my monologue.

    Finally samples of SysLink 2.10.01.15 works with:

    - PSP AM35x-OMAP35x-LINUX-PSP-04.02.00.07 kernel (omap_iommu.c modified),

    - SysBIOS 6.33.00.19,

    - IPC 1.23.05.40,

    - XDCTools 3.23.00.32

    - CGT C6000 7.3.1 and

    - CodeSourcery 2009q1-203.

    No idea what to do with 2.2x versions. If someone has any clues, please tell me.