Hi,
I resolved the problem. You need to modify the kernel to have a fixed
mapping between virtual and physical address. You can do this in the
file ts72xx.c, in the io table. You can see the matt patch for 2.6.24.
Matt wrote "enable this only for debug...", below you can uncomment
the part for pc/104 8bit io. Now you can use tsxxx_base to pass the
VIRTUAL address to the module. The virtual address is the value of
TS72XX_PC104_8BIT_IO_VIRT_BASE.
Regards,
Marco
--- In "gajans.garage" <> wrote:
>
> Dear Gonzalo and Mariela,
>
> Thank you for your quick responses.
>
> First of all I have only one jumper at 4. (Address = 0x150, IRQ = 5/6)
>
> Gonzalo I tried the #define TSXXX_BASE_IO 0x11E00000.
>
> but still getting the same segmentation errror :(.
>
> I noticed one thing. The manual says 0x11E00150 is the 'physical'
> address. but the Kernel is complaining about trying to allocate
> 'virtual memory' at 0x11E00150. please shed me some light on this
issue.
>
> Thank you
> Gajan
>
>
> The Error Message:
> lincan: no version for "struct_module" found: kernel tainted.
> lincan: No versions for exported symbols. Tainting kernel.
> Unable to handle kernel paging request at virtual address 11e00150
> pgd = c04c0000
> [11e00150] *pgd=00000000
> Internal error: Oops: 5 [#1]
> Modules linked in: lincan(F)
> CPU: 0
> pc : [<bf00ad18>] lr : [<11e00157>] Tainted: GF
> sp : c07b7df0 ip : c034e8ac fp : c07b7e0c
> r10: 00002700 r9 : a6071000 r8 : a607f358
> r7 : 80000000 r6 : ffffffed r5 : c07b7e14 r4 : 11e00150
> r3 : 00000000 r2 : c034e894 r1 : a02b6520 r0 : 00000001
> Flags: nzCv IRQs on FIQs on Mode SVC_32 Segment user
> Control: C000717F
> Table: 004C0000 DAC: 00000015
> Process insmod (pid: 3611, stack limit = 0xc07b6258)
> Stack: (0xc07b7df0 to 0xc07b8000)
> 7de0: 00000000 c061a260 11e00150
> 00000000
> 7e00: c07b7e34 c07b7e10 bf00adb0 bf00acf8 c07b7e34 c07b7e20 bf0080ac
> 00000000
> 7e20: c061a260 00000000 c07b7e7c c07b7e38 bf008340 bf00ad80 c031055c
> 00000000
> 7e40: c07b7e84 c07b7e80 60000013 00000001 c063a560 00000001 bf00d614
> bf00d4a0
> 7e60: 80000000 a607f358 a6071000 00002700 c07b7e9c c07b7e80 bf008510
> bf008298
> 7e80: 00000000 00000000 bf00d4a0 00000000 c07b7ecc c07b7ea0 bf00665c
> bf0084d4
> 7ea0: a607f448 00000000 bf00d4a0 bf00d4a0 00000000 bf00d4a0 80000000
> a607f358
> 7ec0: c07b7fa4 c07b7ed0 c00adaa4 bf006644 00000000 c07b7ee0 c014a7b4
> c02e7b70
> 7ee0: 00000348 c02e7b70 00000348 c07b7ef8 a6083f64 00000000 00000271
> 00000271
> 7f00: 00000038 c07b6000 00000000 00000000 00000000 00000000 00000000
> 00000000
> 7f20: 00000000 00000000 00000000 00000000 00000000 00000008 00000000
> 0000000e
> 7f40: 00000009 00000000 00000006 00000014 00000013 a6083f90 a02b6540
> 00012050
> 7f60: c00d5808 00000000 c032ebd0 00000000 c032eb9c 00000000 c07b7fa4
> 00000000
> 7f80: 00020000 00000003 00000080 c00764e4 c07b6000 00900080 00000000
> c07b7fa8
> 7fa0: c0075d00 c00ac800 00000000 00020000 00012070 000149a3 00012050
> 00000000
> 7fc0: 00000000 00020000 00000003 7fe52e8e 00012050 7fe52da8 00012070
> 7fe52e84
> 7fe0: 2ab7f180 7fe52d6c 00008e98 2ab7f18c 60000010 00012070 cfcfcfcf
> 00000014
> Backtrace: invalid frame pointer 0xc07b7e0c
> Code: ebfffe23 e3500000 e3e06012 0a000012 (e5d43000)
> Segmentation fault
>
>
>
> --- In "Gonzalo A. de la Vega"
> <gadelavega@> wrote:
> >
> > > 2008/10/22 Gonzalo A. de la Vega <gadelavega@>:
> > >
> > >> On Wed, Oct 22, 2008 at 6:09 AM, gajans.garage <gajans.garage@>
> > >> wrote:
> > >>> Hi,
> > >>>
> > >>> I am running a 2.6.21-ts on the TS-7260. And I am trying to to
> hook up
> > >>> TS-CAN1 to the board.
> > >>>
> > >>> I downloaded the source from
> > >>>
> > >>>
> > >>>
>
ftp://ftp.embeddedarm.com/pc104-peripherals/ts-can1/ts-7800-linuxr26/ocera-lincan-src.tar.gz
> > >>>
> > >>> compiled it on the board itself and inserted using
> > >>> insmod -f lincan.ko hw=tscan1 irq=6 io=0x150
> > >>>
> > >>> The error message was
> > >>> :modules# insmod -f lincan.ko hw=tscan1 irq=6
> io=0x150
> > >>> Unable to handle kernel paging request at virtual address 01e00150
> > >>
> > >> From what I see in the manual, the address should be 0x11e00150
(page
> > >> 42). Try changing line 30 of lincan/include/tscan1.h from:
> > >> #define TSXXX_BASE_IO 0x01E00000
> > >>
> > >> to:
> > >> #define TSXXX_BASE_IO 0x11E00000
> > >>
> > >> Please let me know what happens so I can notify the author.
> > >>
> > >> Gonzalo
> > >>
> > >
> > > On Wed, Oct 22, 2008 at 8:33 PM, Mariela Videla <mevidela@> wrote:
> > > In adition, you can check TS-CAN1 jumper settings for I/O address
> selection.
> >
> > Yea, but I think the key is:
> > "Unable to handle kernel paging request at virtual address 01e00150"
> >
> > I understand the module is trying to allocate memory at the wrong
> address.
> >
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|