LibBSD PowerPC motorola_shared BSP PCI Support

Joel Sherrill joel at rtems.org
Fri Oct 30 02:27:40 UTC 2020


On Thu, Oct 29, 2020, 7:44 AM Heinz Junkes <junkes at fhi-berlin.mpg.de> wrote:

> I have now changed to a more modern board: MVME2500
> And built rtems6 and libbsd for qoriq_e500.
>

Since you mention it worked in the spring, does it work with rtems5?


>
> Unfortunately the board hangs when loading the image:
>
> MVME2500=> setenv tfile dhcpcd02_6
> MVME2500=> run rtems_myTests
> reading mvme2500.dtb
> 12363 bytes read in 32 ms (377 KiB/s)
> Speed: 1000, full duplex
> Using eTSEC1 device
> TFTP from server 141.14.128.9; our IP address is 141.14.128.89
> Filename 'dhcpcd02_6.img'.
> Load address: 0x10000000
> Loading: #################################################################
>          ####################################################
>          10.3 MiB/s
> done
> Bytes transferred = 1709285 (1a14e5 hex)
> WARNING: adjusting available memory to 30000000
> ## Booting kernel from Legacy Image at 10000000 ...
>    Image Name:   dhcpcd02
>    Created:      2020-10-29  12:38:52 UTC
>    Image Type:   PowerPC Linux Kernel Image (gzip compressed)
>    Data Size:    1709221 Bytes = 1.6 MiB
>    Load Address: 00004000
>    Entry Point:  00004000
>    Verifying Checksum ... OK
> ## Flattened Device Tree blob at 20000000
>    Booting using the fdt blob at 0x20000000
>    Uncompressing Kernel Image ... OK
>    Loading Device Tree to 03ff9000, end 03fff04a ... OK
>
> Hangs ...
>
>
>
> With RTEMS5 in spring it looked like this:
>
>
> MVME2500=> setenv tfile dhcpcd02
> MVME2500=> run rtems_myTests
> reading mvme2500.dtb
> 12363 bytes read in 32 ms (377 KiB/s)
> Speed: 1000, full duplex
> Using eTSEC1 device
> TFTP from server 141.14.128.9; our IP address is 141.14.128.89
> Filename 'dhcpcd02.img'.
> Load address: 0x10000000
> Loading: #################################################################
>          ###################################
>          10 MiB/s
> done
> Bytes transferred = 1455058 (1633d2 hex)
> WARNING: adjusting available memory to 30000000
> ## Booting kernel from Legacy Image at 10000000 ...
>    Image Name:   dhcpcd02
>    Created:      2020-02-17  13:51:47 UTC
>    Image Type:   PowerPC Linux Kernel Image (gzip compressed)
>    Data Size:    1454994 Bytes = 1.4 MiB
>    Load Address: 00004000
>    Entry Point:  00004000
>    Verifying Checksum ... OK
> ## Flattened Device Tree blob at 20000000
>    Booting using the fdt blob at 0x20000000
>    Uncompressing Kernel Image ... OK
>    Loading Device Tree to 03ff9000, end 03fff04a ... OK
> *** LIBBSD DHCPCD 2 TEST ***
> nexus0: <RTEMS Nexus device>
>
> RTEMS Shell on /dev/console. Useo 'help' to list commands.
> SHLL [/] # bus0: <Open Firmware Device Tree> on nexus0
> simplebus0: <Flattened device tree simple bus> on ofwbus0
> simplebus1: <Flattened device tree simple bus> mem 0xffe05000-0xffe05fff
> irq 3 on ofwbus0
> tsec0: <Enhanced Three-Speed Ethernet Controller> mem 0x24000-0x24fff irq
> 13,14,18 on simplebus0
> miibus0: <MII bus> on tsec0
> ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
> ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,
> 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
> info: tsec0: Ethernet address: ec:9e:cd:19:3c:61
> tsec1: <Enhanced Three-Speed Ethernet Controller> mem 0x25000-0x25fff irq
> 19,20,24 on simplebus0
> miibus1: <MII bus> on tsec1
> ukphy1: <Generic IEEE 802.3u media interface> PHY 7 on miibus1
> ukphy1:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,
> 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
> info: tsec1: Ethernet address: ec:9e:cd:19:3c:62
> tsec2: <Enhanced Three-Speed Ethernet Controller> mem 0x26000-0x26fff irq
> 15,16,17 on simplebus0
> miibus2: <MII bus> on tsec2
> ukphy2: <Generic IEEE 802.3u media interface> PHY 3 on miibus2
> ukphy2:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,
> 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
> info: tsec2: Ethernet address: ec:9e:cd:19:3c:63
> [zone: unpcb] kern.ipc.maxsockets limit reached
> info: lo0: link state changed to UP
> info: version 6.2.1 starting
> info: tsec0: link state changed to DOWN
> info: tsec1: link state changed to DOWN
> info: tsec2: link state changed to DOWN
> warning: no interfaces have a carrier
> info: tsec0: waiting for carrier
> info: tsec1: waiting for carrier
> info: tsec2: waiting for carrier
> W�������to UP
> info: tsec0: carrier acquired
> info: DUID 00:01:00:01:e9:6d:a1:84:ec:9e:cd:19:3c:61
> info: tsec0: IAID cd:19:3c:61
> info: tsec1: link state changed to UP
> ...
>
>
>
>
> Viele Grüße
> Heinz Junkes
> --
> Experience directly varies with equipment ruined.
>
>
>
> > On 29. Oct 2020, at 12:07, Heinz Junkes <junkes at fhi-berlin.mpg.de>
> wrote:
> >
> > I can now run the test programs of libbsd. But on the MVME6100
> > no network interfaces gets found.
> >
> > MVME6100> netShut
> > /-----------------------------------------
> > config addr is 0xf1000cf8
> > config data is 0xf1000cfc
> > Welcome to RTEMS rtems-6.0.0 (PowerPC/Generic (classic FPU)/beatnik)
> > CPU: MPC7457
> > Board Type: MVME6100-0163 (S/N E173D27)
> > Bus Clock Freq:   133333333 Hz
> > CPU Clock Freq:  1266666654 Hz
> > Memory:           536870912 bytes
> > -----------------------------------------
> > Now BSP_mem_size = 0x1fe00000
> > Configuration.work_space_size = ed620
> > Page table setup finished; will activate it NOW...
> > Going to start PCI buses scanning and initialization
> > Number of PCI buses found is : 3
> > MSR 0x2003032
> > Exit from bspstart
> > unable to find the universe in pci config space
> > Tundra Tsi148 PCI-VME bridge detected at 0x81100000, IRQ 84
> > Tsi148 Outbound Ports:
> > Port  VME-Addr   Size       PCI-Adrs   Mode:
> > 0:    0x20000000 0x0e000000 0x90000000 A32, SUP, D32, SCT
> > 1:    0x00000000 0x00ff0000 0x9f000000 A24, SUP, D32, SCT
> > 2:    0x00000000 0x00010000 0x9fff0000 A16, SUP, D32, SCT
> > 7:    0x00000000 0x01000000 0x9e000000 CSR, SUP, D32, SCT
> > Tsi148 Inbound Ports:
> > Port  VME-Addr   Size       PCI-Adrs   Mode:
> > 0:    0x90000000 0x1fe00000 0x00000000 A32, PGM, DAT, SUP, USR, MBLT, BLT
> > vmeTsi148 IRQ manager: looking for registers on VME...
> > Trying to find CSR on VME...
> > vmeTsi148 - IRQ manager using VME CSR to flush FIFO
> > Registering /dev/console as minor 0 (==/dev/ttyS0)
> >
> >
> > *** BEGIN OF TEST LIBBSD DHCPCD 1 ***
> > *** TEST VERSION: 6.0.0.5f4fd63a0c2b4b0657b64abdcfa70c47bee21c52
> > *** TEST STATE: EXPECTED_PASS
> > *** TEST BUILD: RTEMS_POSIX_API
> > *** TEST TOOLS: 10.2.1 20201026 (RTEMS 6, RSB
> 5f4fd63a0c2b4b0657b64abdcfa70c47bee21c52, Newlib 17b7dfc)
> >
> > RTEMS Shell on /dev/console. Use 'help' to list commands.
> > SHLL [/] # xus0: <RTEMS Nexus device>
> > [zone: unpcb] kern.ipc.maxsockets limit reached
> > info: lo0: link state changed to UP
> > info: version 6.2.1 starting
> > err: no valid interfaces found
> > warning: no interfaces have a carrier
> >
> > Viele Grüße
> > Heinz Junkes
> > --
> > Experience directly varies with equipment ruined.
> >
> >
> >
> >> On 27. Oct 2020, at 18:41, Sebastian Huber <
> sebastian.huber at embedded-brains.de> wrote:
> >>
> >>
> >> On 27/10/2020 15:41, Joel Sherrill wrote:
> >>>
> >>>
> >>> On Tue, Oct 27, 2020 at 9:23 AM Heinz Junkes <junkes at fhi-berlin.mpg.de
> <mailto:junkes at fhi-berlin.mpg.de>> wrote:
> >>>
> >>>   I am currently trying git rtems6.
> >>>
> >>>   ../source-builder/sb-set-builder --prefix=$HOME/.rtems --log
> >>>   powerpc_beatnik.log --no-clean --target=powerpc-rtems6
> >>>   --with-rtems-bsp=beatnik 6/rtems-powerpc 6/rtems-kernel
> >>>
> >>>   works …
> >>>
> >>>   Unfortunately It fails here:
> >>>
> >>>   ../source-builder/sb-set-builder --prefix=$HOME/.rtems --log
> >>>   libbsd.log --no-clean --target=powerpc-rtems6
> >>>   --with-rtems-bsp=beatnik --host=powerpc-rtems6 6/rtems-libbsd
> >>>
> >>>   ...
> >>>   [1562/1948] Compiling freebsd/sbin/nvmecontrol/ns.c
> >>>   In file included from
> >>>   /home/ad/.rtems/lib/gcc/powerpc-rtems6/10.2.1/include/c++/cstdlib:75,
> >>>                    from
> >>>
>  /home/ad/.rtems/lib/gcc/powerpc-rtems6/10.2.1/include/c++/stdlib.h:36,
> >>>                    from ../../freebsd/sys/sys/libkern.h:216,
> >>>                    from ../../freebsd/sys/sys/systm.h:543,
> >>>                    from ../../freebsd/sys/sys/mbuf.h:42,
> >>>                    from ../../rtemsbsd/rtems/rtems-bsd-cxx.cc:48:
> >>>   /home/ad/.rtems/powerpc-rtems6/include/stdlib.h:309:6: error:
> >>>   conflicting declaration of C function 'void qsort_r(void*, size_t,
> >>>   size_t, int (*)(const void*, const void*, void*
> >>>   ), void*)'
> >>>     309 | void qsort_r (void *__base, size_t __nmemb, size_t __size,
> >>>   int (*_compar)(const void *, const void *, void *), void *__thunk);
> >>>         |      ^~~~~~~
> >>>   In file included from ../../freebsd/sys/sys/systm.h:543,
> >>>                    from ../../freebsd/sys/sys/mbuf.h:42,
> >>>                    from ../../rtemsbsd/rtems/rtems-bsd-cxx.cc:48:
> >>>   ../../freebsd/sys/sys/libkern.h:211:7: note: previous declaration
> >>>   'void qsort_r(void*, size_t, size_t, void*, int (*)(void*, const
> >>>   void*, const void*))'
> >>>     211 | void  qsort_r(void *base, size_t nmemb, size_t size, void
> >>>   *thunk,
> >>>         |       ^~~~~~~
> >>>
> >>>   Waf: Leaving directory
> >>>
>  `/home/ad/RTEMS_DEV/rtems-source-builder/rtems/build/rtems-libbsd-d964a6703c705cc92fd053bcefc08bb3b6baa0e2-powerpc-rtems6-1/rtems-libbsd-d964a6703c705cc9
> >>>   2fd053bcefc08bb3b6baa0e2/build/powerpc-rtems6-beatnik-default'
> >>>   Build failed
> >>>    -> task in 'bsd' failed with exit status 1 (run with -v to
> >>>   display more information)
> >>>   shell cmd failed: /bin/sh -ex
> >>>
>  /home/ad/RTEMS_DEV/rtems-source-builder/rtems/build/rtems-libbsd-d964a6703c705cc92fd053bcefc08bb3b6baa0e2-powerpc-rtems6-1/do-build
> >>>   error: building
> >>>
>  rtems-libbsd-d964a6703c705cc92fd053bcefc08bb3b6baa0e2-powerpc-rtems6-1
> >>>
> >>>
> >>> I'm not sure why this would not have shown up before but the FreeBSD
> kernel reuses some standard library method names with different signatures.
> The file rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h renames a
> lot of items to put them in a BSD namespace. qsort_r isn't in this list but
> perhaps should be.
> >>
> >> I think its is this bug:
> >>
> >> https://devel.rtems.org/ticket/4078
> >>
> >> I added a workaround to the latest master and 6-freebsd-12 branches.
> >>
> >> --
> >> Sebastian Huber, embedded brains GmbH
> >>
> >> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> >> Phone   : +49 89 189 47 41-16
> >> Fax     : +49 89 189 47 41-09
> >> E-Mail  : sebastian.huber at embedded-brains.de
> >> PGP     : Public key available on request.
> >>
> >> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
> >>
> >
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20201029/61f0be4c/attachment-0001.html>


More information about the devel mailing list