LibBSD PowerPC motorola_shared BSP PCI Support

Heinz Junkes junkes at fhi-berlin.mpg.de
Thu Oct 29 11:07:15 UTC 2020


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5300 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20201029/5ed4b3ce/attachment.bin>


More information about the devel mailing list