Code refactor for ARM bsp MMU initialization
Hi, It has been suggested that the function bsp_memory_management_ initialize() in mminit.c be modified so that it is shareable between more arm variants ( will be useful only for those that support cp15 model ). I think currently only the raspberry pi uses it, and was not suitable for Pi 2 either. I have made some changes. I request you to review it for further changes as needed. Thanks! --- c/src/lib/libbsp/arm/ raspberrypi/include/bsp.h |3 ++ .../libbsp/arm/raspberrypi/startup/bspstarthooks.c |8 ++--- .../libbsp/arm/raspberrypi/startup/bspstartmmu.c | 30 + c/src/lib/libbsp/arm/shared/mminit.c | 35 c/src/lib/libbsp/shared/include/mm.h |4 +++ 5 files changed, 48 insertions(+), 32 deletions(-) create mode 100644 c/src/lib/libbsp/arm/raspberrypi/startup/bspstartmmu.c diff --git a/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h b/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h index c05a410..d9e86d8 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h +++ b/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h @@ -47,3 +47,6 @@ extern C { * @brief Raspberry Pi support package * */ + +void raspberrypi_setup_mmu_and_cache(void); + diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c b/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c index 047c8ad..107649f 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c +++ b/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c @@ -26,15 +26,15 @@ #include bsp/start.h #include bsp/raspberrypi.h #include bsp/mm.h +#include bsp.h void BSP_START_TEXT_SECTION bsp_start_hook_0(void) -{ +{ } - void BSP_START_TEXT_SECTION bsp_start_hook_1(void) { bsp_start_copy_sections(); - bsp_memory_management_initialize(); + raspberrypi_setup_mmu_and_cache(); bsp_start_clear_bss(); -} +} \ No newline at end of file diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/bspstartmmu.c b/c/src/lib/libbsp/arm/raspberrypi/startup/bspstartmmu.c new file mode 100644 index 000..506346e --- /dev/null +++ b/c/src/lib/libbsp/arm/raspberrypi/startup/bspstartmmu.c @@ -0,0 +1,30 @@ +#define ARM_CP15_TEXT_SECTION BSP_START_TEXT_SECTION + +#include bsp/start.h +#include bsp/arm-cp15-start.h +#include bsp/linker-symbols.h +#include libcpu/arm-cp15.h +#include bsp/mm.h +#include bsp.h + +uint32_t bsp_initial_mmu_ctrl_set; +uint32_t bsp_initial_mmu_ctrl_clear; +uint32_t domain_set; + +void raspberrypi_setup_mmu_and_cache(void) +{ +#if (BSP_IS_RPI2 == 1) + /* Enable SMP in auxiliary control */ + uint32_t actlr = arm_cp15_get_auxiliary_control(); + actlr |= ARM_CORTEX_A9_ACTL_SMP; + arm_cp15_set_auxiliary_control(actlr); + bsp_initial_mmu_ctrl_clear = ARM_CP15_CTRL_A; + bsp_initial_mmu_ctrl_set = ARM_CP15_CTRL_AFE | ARM_CP15_CTRL_Z; +#else + bsp_initial_mmu_ctrl_clear = 0; + bsp_initial_mmu_ctrl_set = ARM_CP15_CTRL_AFE | ARM_CP15_CTRL_S | ARM_CP15_CTRL_XP; +#endif + domain_set = ARM_MMU_DEFAULT_CLIENT_DOMAIN; + + bsp_memory_management_initialize(); +} \ No newline at end of file diff --git a/c/src/lib/libbsp/arm/shared/mminit.c b/c/src/lib/libbsp/arm/shared/mminit.c index 96ca1ec..c9d42e4 100644 --- a/c/src/lib/libbsp/arm/shared/mminit.c +++ b/c/src/lib/libbsp/arm/shared/mminit.c @@ -11,42 +11,21 @@ #include bsp/start.h #include bsp/arm-cp15-start.h #include bsp/linker-symbols.h +#include libcpu/arm-cp15.h #include bsp/mm.h -#if (BSP_IS_RPI2 == 1) -BSP_START_TEXT_SECTION void bsp_memory_management_initialize(void) -{ - /* Enable SMP in auxiliary control */ - uint32_t actlr = arm_cp15_get_auxiliary_control(); - actlr |= ARM_CORTEX_A9_ACTL_SMP; - arm_cp15_set_auxiliary_control(actlr); +BSP_START_TEXT_SECTION void bsp_memory_management_initialize() +{ uint32_t ctrl = arm_cp15_start_setup_mmu_and_cache( -ARM_CP15_CTRL_A, -ARM_CP15_CTRL_AFE| ARM_CP15_CTRL_Z - ); +bsp_initial_mmu_ctrl_clear, +bsp_initial_mmu_ctrl_set ); arm_cp15_start_setup_translation_table_and_enable_mmu_and_cache( ctrl, (uint32_t *) bsp_translation_table_base, -ARM_MMU_DEFAULT_CLIENT_DOMAIN, -arm_cp15_start_mmu_config_table[0], -arm_cp15_start_mmu_config_table_size - ); -} -#else -BSP_START_TEXT_SECTION void bsp_memory_management_initialize(void) -{ - uint32_t ctrl = arm_cp15_get_control(); - - ctrl |= ARM_CP15_CTRL_AFE | ARM_CP15_CTRL_S | ARM_CP15_CTRL_XP; - - arm_cp15_start_setup_translation_table_and_enable_mmu_and_cache( -ctrl, -(uint32_t *) bsp_translation_table_base, -ARM_MMU_DEFAULT_CLIENT_DOMAIN, +domain_set, arm_cp15_start_mmu_config_table[0], arm_cp15_start_mmu_config_table_size ); -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/c/src/lib/libbsp/shared/include/mm.h b/c/src/lib/libbsp/shared/include/mm.h index 2152f68..299b6c5 100644 --- a/c/src/lib/libbsp/shared/include/mm.h +++ b/c/src/lib/libbsp/shared/include/mm.h @@ -33,6 +33,10 @@ extern
Re: SMP support for Raspberry Pi 2
On 08/07/15 14:54, Rohini Kulkarni wrote: This piece of code gets the configured number of CPUs. I suppose this number is not specified and will have to be specified by me somewhere in the configurations. But I am unable to find out where. For examples, please have a look at testsuite/smptests. -- 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.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: Code refactor for ARM bsp MMU initialization
On 08/07/15 15:10, Rohini Kulkarni wrote: On Wed, Jul 8, 2015 at 6:29 PM, Sebastian Huber sebastian.hu...@embedded-brains.de mailto:sebastian.hu...@embedded-brains.de wrote: Hello Rohini, please use git format-patch to generate the patches. Actually,that is what I have used. I pasted the patch here from the resulting file. Better use git send-email, or send the file as is since this will preserve the commit message and author. On 08/07/15 14:44, Rohini Kulkarni wrote: +++ b/c/src/lib/libbsp/arm/raspberrypi/startup/bspstartmmu.c @@ -0,0 +1,30 @@ +#define ARM_CP15_TEXT_SECTION BSP_START_TEXT_SECTION + +#include bsp/start.h +#include bsp/arm-cp15-start.h +#include bsp/linker-symbols.h +#include libcpu/arm-cp15.h +#include bsp/mm.h +#include bsp.h + +uint32_t bsp_initial_mmu_ctrl_set; +uint32_t bsp_initial_mmu_ctrl_clear; +uint32_t domain_set; + +void raspberrypi_setup_mmu_and_cache(void) +{ +#if (BSP_IS_RPI2 == 1) + /* Enable SMP in auxiliary control */ + uint32_t actlr = arm_cp15_get_auxiliary_control(); + actlr |= ARM_CORTEX_A9_ACTL_SMP; + arm_cp15_set_auxiliary_control(actlr); + bsp_initial_mmu_ctrl_clear = ARM_CP15_CTRL_A; + bsp_initial_mmu_ctrl_set = ARM_CP15_CTRL_AFE | ARM_CP15_CTRL_Z; +#else + bsp_initial_mmu_ctrl_clear = 0; + bsp_initial_mmu_ctrl_set = ARM_CP15_CTRL_AFE | ARM_CP15_CTRL_S | ARM_CP15_CTRL_XP; +#endif + domain_set = ARM_MMU_DEFAULT_CLIENT_DOMAIN; + + bsp_memory_management_initialize(); +} Is there a reason, why you use global variables instead of function parameters? I have set them as extern in mm.h and are directly used in mminit.c instead of being passed to bsp_memory_management_initialize. They will be set by the bsp the source is being compiled for. You should avoid global variables and functions in general. I don't see a necessity for them here. -- 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.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: SMP support for Raspberry Pi 2
On 7/8/2015 9:51 AM, Hesham ALMatary wrote: Hi Rohini, On Wed, Jul 8, 2015 at 1:54 PM, Rohini Kulkarni krohini1...@gmail.com wrote: Hi, I found this piece of code in confdefs.h #if defined(RTEMS_SMP) /* * If configured for SMP, then we need to know the maximum CPU cores. */ #if !defined(CONFIGURE_SMP_APPLICATION) #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) #define CONFIGURE_SMP_MAXIMUM_PROCESSORS 1 #endif #else #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) #error CONFIGURE_SMP_MAXIMUM_PROCESSORS not specified for SMP Application #endif #endif #endif This piece of code gets the configured number of CPUs. I suppose this number is not specified and will have to be specified by me somewhere in the configurations. But I am unable to find out where. Every BSP that supports SMP should define the number of cores/processors in its linkcmds file. For example have a look at Realview linkcmds file here [1] The pc386 treats the configured value as the maximum to be supported. It does not hard code the number on the hardware but probes at run-time. See libbsp/i386/shared/smp. The key is that the BSP can set a hard limit or determine the available set at run-time. There are two factors: + number RTEMS is configured for + number present in hardware - BSP can probe - can be hard-coded An RTEMS SMP application configured for 2 CPUs on a quad-core system will simply ignore the other two. [1] https://github.com/RTEMS/rtems/blob/master/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu_smp#L1 Thanks! On Sat, Jul 4, 2015 at 4:07 PM, Rohini Kulkarni krohini1...@gmail.com wrote: On Fri, Jul 3, 2015 at 10:43 PM, Joel Sherrill joel.sherr...@oarcorp.com wrote: On July 3, 2015 11:53:07 AM CDT, Rohini Kulkarni krohini1...@gmail.com wrote: Any help that I can with this? On 1 Jul 2015 16:59, Rohini Kulkarni krohini1...@gmail.com wrote: Hi all, I wish to know where the maximum number of processors for a variant are configured. I took a look at some configure scripts. I could see the processor count defined for xilinx-zynq in its configuration file as ZYNQ_CPUS=2. This looks to be BSP specific and could originate in configure.ac or a .h file. I found this under ~/libbsp/arm/xilinx-zynq/configure # Check whether --enable-smp was given. if test $rtems_cv_HAS_SMP = yes; then : ZYNQ_CPUS=2 fi It is likely that each BSP has an underlying hardware limit. Yes rtems_configuration_get_maximum_processors() called in gets this configured number. But I don't know from where. This is set initially based on the confdefs.h parameter CONFIGURE_SMP_MAXIMUM_PROCESSORS or something close to that (on phone). Ya, I found this piece of code in confdefs.h #if defined(RTEMS_SMP) /* * If configured for SMP, then we need to know the maximum CPU cores. */ #if !defined(CONFIGURE_SMP_APPLICATION) #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) #define CONFIGURE_SMP_MAXIMUM_PROCESSORS 1 #endif #else #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) #error CONFIGURE_SMP_MAXIMUM_PROCESSORS not specified for SMP Application #endif #endif #endif This piece of code gets the configured number of CPUs. I suppose this number is not specified and will have to be specified by me somewhere in the configurations. But I am unable to find out where. Ultimately the maximum CPUs for an application is the lower of those available or RTEMS is configured for. Yes. Also where is RTEMS_SMP defined for a bsp? A side-effect of building with --enable-smp. Oh,alright. Thanks. -- Rohini Kulkarni --joel -- Rohini Kulkarni -- Rohini Kulkarni ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel -- Joel Sherrill, Ph.D. Director of Research Development joel.sherr...@oarcorp.comOn-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available(256) 722-9985 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: SMP support for Raspberry Pi 2
On Wed, Jul 8, 2015 at 6:25 PM, Sebastian Huber sebastian.hu...@embedded-brains.de wrote: On 08/07/15 14:54, Rohini Kulkarni wrote: This piece of code gets the configured number of CPUs. I suppose this number is not specified and will have to be specified by me somewhere in the configurations. But I am unable to find out where. For examples, please have a look at testsuite/smptests. Umm,I don't see how the smptests will help figure out where to configure the number of processors. Don't they just use the number already configured for the variant. -- 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.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel -- Rohini Kulkarni ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: SMP support for Raspberry Pi 2
Hi Rohini, On Wed, Jul 8, 2015 at 1:54 PM, Rohini Kulkarni krohini1...@gmail.com wrote: Hi, I found this piece of code in confdefs.h #if defined(RTEMS_SMP) /* * If configured for SMP, then we need to know the maximum CPU cores. */ #if !defined(CONFIGURE_SMP_APPLICATION) #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) #define CONFIGURE_SMP_MAXIMUM_PROCESSORS 1 #endif #else #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) #error CONFIGURE_SMP_MAXIMUM_PROCESSORS not specified for SMP Application #endif #endif #endif This piece of code gets the configured number of CPUs. I suppose this number is not specified and will have to be specified by me somewhere in the configurations. But I am unable to find out where. Every BSP that supports SMP should define the number of cores/processors in its linkcmds file. For example have a look at Realview linkcmds file here [1] [1] https://github.com/RTEMS/rtems/blob/master/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu_smp#L1 Thanks! On Sat, Jul 4, 2015 at 4:07 PM, Rohini Kulkarni krohini1...@gmail.com wrote: On Fri, Jul 3, 2015 at 10:43 PM, Joel Sherrill joel.sherr...@oarcorp.com wrote: On July 3, 2015 11:53:07 AM CDT, Rohini Kulkarni krohini1...@gmail.com wrote: Any help that I can with this? On 1 Jul 2015 16:59, Rohini Kulkarni krohini1...@gmail.com wrote: Hi all, I wish to know where the maximum number of processors for a variant are configured. I took a look at some configure scripts. I could see the processor count defined for xilinx-zynq in its configuration file as ZYNQ_CPUS=2. This looks to be BSP specific and could originate in configure.ac or a .h file. I found this under ~/libbsp/arm/xilinx-zynq/configure # Check whether --enable-smp was given. if test $rtems_cv_HAS_SMP = yes; then : ZYNQ_CPUS=2 fi It is likely that each BSP has an underlying hardware limit. Yes rtems_configuration_get_maximum_processors() called in gets this configured number. But I don't know from where. This is set initially based on the confdefs.h parameter CONFIGURE_SMP_MAXIMUM_PROCESSORS or something close to that (on phone). Ya, I found this piece of code in confdefs.h #if defined(RTEMS_SMP) /* * If configured for SMP, then we need to know the maximum CPU cores. */ #if !defined(CONFIGURE_SMP_APPLICATION) #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) #define CONFIGURE_SMP_MAXIMUM_PROCESSORS 1 #endif #else #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) #error CONFIGURE_SMP_MAXIMUM_PROCESSORS not specified for SMP Application #endif #endif #endif This piece of code gets the configured number of CPUs. I suppose this number is not specified and will have to be specified by me somewhere in the configurations. But I am unable to find out where. Ultimately the maximum CPUs for an application is the lower of those available or RTEMS is configured for. Yes. Also where is RTEMS_SMP defined for a bsp? A side-effect of building with --enable-smp. Oh,alright. Thanks. -- Rohini Kulkarni --joel -- Rohini Kulkarni -- Rohini Kulkarni ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel -- Hesham ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: GSoC 2015 RPi USB Support
No I haven't. I tried to write driver stub, but I got same issueson RPi. What are the qemu args? Can I run qemu in terminal? ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
RPI graphic text console test invitation
Hi all mentors and rpi bap student developers , First of all, I’ve written a blog to explicite how I to use the mailbox interfaces, and I would like to invite other students to try it out. If anyone need the mailbox related functions that I didn’t implement, you can ask me for them. https://yangqiao.wordpress.com/2015/07/05/rtems-board-support-packages-raspberry-pi-mailbox-and-framebuffer-implementation/ As Pavel Pisa reported to me that he didn’t managed to get the video console to display, I would like to invite you to try it out and report the status to me. The setup of memory table might need to update, I’ve explained in the last paragraph of the blog. It’s just a quick test and the feedback will help me a lot. Thanks everyone in advance :). Here is a blog about how to setup the graphic console, where is the code source and which version to test: https://yangqiao.wordpress.com/2015/07/05/rtems-bsp-raspberry-pi-graphic-text-console-with-frame-buffer/ I've got the graphic output work with my rpi B and samsung 27 display. But I've found something wired that in serial console mode, my serial console stoped early: The word Corporation isn't event displayed completely. While in graphic console mode, the output stopped at : It bothers me and I'm trying to figure out the bug. But for the moment I've got no idea and how to debug it. But anyway the display should work and display something. Since I can’t test it with different display by my self. I would be glad if you can join me to test the driver and send me feedback, so that I can improve it . Thank you in advance! ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: GSoC 2015 RPi USB Support
And what to debug, if problem is on linkage stage? Or I misunderstood something? 2015-07-08 22:32 GMT+03:00 Yurii Shevtsov unge...@gmail.com: No I haven't. I tried to write driver stub, but I got same issueson RPi. What are the qemu args? Can I run qemu in terminal? ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: GSoC 2015 RPi USB Support
- Yurii Shevtsov unge...@gmail.com schrieb: No I haven't. I tried to write driver stub, but I got same issueson RPi. What are the qemu args? Can I run qemu in terminal? You have to figure out how the linker set mechanism works in general. -- 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@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Status of QorIQ
Hi I noticed the modification to qoriq_t2080rdb.cfg and wondered how things were going. How many cores have you all seen running? Any scaling issues? The t4240 certainly has a lot of cores. :) -- Joel Sherrill, Ph.D. Director of Research Development joel.sherr...@oarcorp.comOn-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available(256) 722-9985 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: GSoC 2015 RPi USB Support
ping 2015-07-01 17:20 GMT+03:00 Yurii Shevtsov unge...@gmail.com: Any news? 2015-06-29 19:50 GMT+03:00 Yurii Shevtsov unge...@gmail.com: So, it is empty. .rtemsroset.bsd.nexus.begin 0x001104bc0x0 ./libbsd.a(rtems-bsd-nexus.c.16.o) 0x001104bc_bsd__start_set_nexus .rtemsroset.bsd.nexus.end 0x001104bc0x0 ./libbsd.a(rtems-bsd-nexus.c.16.o) 0x001104bc_bsd__stop_set_nexus What will be next step? My repo: https://github.com/gtament/rtems-libbsd/commit/cf3f0fcafef3bcb9b0ec80d8c57e1304689ebace 2015-06-29 9:43 GMT+03:00 Sebastian Huber sebastian.hu...@embedded-brains.de: You can debug this issue on Qemu. The Nexus childes are registered in a linker set, so I would consult the linker map file. It should look like this: .rtemsroset.bsd.nexus.begin 0x0052ef7c0x0 libbsd.a(rtems-bsd-nexus.o) 0x0052ef7c _bsd__start_set_nexus .rtemsroset.bsd.nexus.content 0x0052ef7c 0x28 testsuite/telnetd01/test_main.o .rtemsroset.bsd.nexus.end 0x0052efa40x0 libbsd.a(rtems-bsd-nexus.o) 0x0052efa4 _bsd__stop_set_nexus The .rtemsroset.bsd.nexus.content section must be non-empty. On 27/06/15 16:39, Yurii Shevtsov wrote: Any ideas? Maybe I did some typo? Maybe you can compile and try it in qemu? 2015-06-26 17:05 GMT+03:00 Yurii Shevtsov unge...@gmail.com: 2015-06-25 16:00 GMT+03:00 Sebastian Huber sebastian.hu...@embedded-brains.de: I would set a break point to nexus_probe(). In this loop SET_FOREACH(nd, nexus) { device_add_child(dev, nd-name, nd-unit); } your device must get added. I would also set break points to the probe and attach functions of your device. Added printfs() printf(before setforeach\n); SET_FOREACH(nd, nexus) { printf(setforeach: %s\n, nd-name); device_add_child(dev, nd-name, nd-unit); } Got only 'before setforeach' in console. So it doesn't step into loop. Any ideas? Also I already had printfs in my driver's probe and attach, also got no output. On 25/06/15 14:50, Yurii Shevtsov wrote: This is ping message, with small update: the problem is not on the linking stage, driver is linked to testsuite (checked with objdump) 2015-06-21 17:57 GMT+03:00 Yurii Shevtsov unge...@gmail.com: Hello) Now I have apps from libbsd testsuite running. But DWC OTG driver doesn't loads. I added this lines to init01/test_main.c: +SYSINIT_NEED_USB_CORE; +SYSINIT_DRIVER_REFERENCE(bcm283x_dwcotg, nexus); (I know it's bad hardcode) If I run it. I get only this: nexus0: RTEMS Nexus device devctl: +nexus0 at on root0 devctl: !system=IFNET subsystem=lo0 type=ATTACH Of course, I modified rtemsbsd/include/machine/rtems-bsd-sysinit.h and rtemsbsd/include/bsp/nexus-devices.h (took vlues from working DTS) and did other nexus-related changes to drivers. You can find changes in my repo https://github.com/gtament/rtems-libbsd/ So I need some kind of code review, please. P.S. All testsuites (netshell01, usb01) with shell hangs without any output. Thanks in advance! ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel -- 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.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. -- 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.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel