You can add the script to rtems-testing.git (there is already check_bsp there i think). Check for using internal rtems functions versus defining them, e.g. by checking for a semicolon. Some of the uses you flag like the _CPU_Cache_xxx are defining those functions, which i think is ok.. Joel?
-Gedare On Sep 8, 2013 5:59 AM, "Vipul Nayyar" <[email protected]> wrote: > Hello Gedare, > > I reviewed the current documentation for bsp development as you suggested. I > didn't find any major discrepancies present already, but will look again > closely. As far I think, the part about the PIC support which is available > to every BSP is currently not present in the documentation, so I'll submit > the addition to docs regarding this if you also agree to it. > > My current script gives results on a per bsp basis. However, as you > requested to classify the problems, I've done that by tweaking it a little. > I've added the functionality to search for RTEMS internal functions being > used in the bsp. From what I understood, these internal functions I've > looked for in BSPs are taken from libcpu & cpukit. > > My aim in developing this bash script was to identify flaws in BSPs , and > also to provide a simple tool for future BSP developers so that they can > check the file organization for their BSP. So, is it fine if I submit a > patch to add this script to the RTEMS tree ?? > > Following, you'll find discrepancies found in current RTEMS tree regarding > some serious flaws. The attached file all_warnings.txt classifies the flaws > found in all bsps, either it being serious or not. The attached file > 'per_bsp_observation.txt' contains result of the script showing serious > flaws in all the bsps. > > > **** RTEMS Internal functions being used in BSPs **** > arm/csb336 : _BSP_poll_char() > > arm/edb7312 : _CPU_ISR_install_vector() > > arm/gp32 : _BSP_put_char() > > arm/lpc24xx : _CPU_ISR_install_vector() _Heap_Extend() > > arm/rtl22xx : _BSP_put_char() > > m68k/av5282 : _CPU_cache_disable_instruction() > _CPU_cache_enable_instruction() _CPU_cache_invalidate_entire_instruction() > _CPU_cache_disable_data() _CPU_cache_enable_data() > _CPU_cache_invalidate_entire_data() _CPU_cache_flush_entire_data() > _CPU_cache_unfreeze_instruction() _CPU_cache_freeze_instruction() > _CPU_cache_invalidate_1_instruction_line() _CPU_cache_unfreeze_data() > _CPU_cache_freeze_data() _CPU_cache_invalidate_1_data_line() > _CPU_cache_flush_1_data_line() > > m68k/gen68340 : _CPU_ISR_install_raw_handler() > > m68k/genmcf548x : _CPU_cache_disable_instruction() > _CPU_cache_enable_instruction() _CPU_cache_invalidate_entire_instruction() > _CPU_cache_disable_data() _CPU_cache_enable_data() > _CPU_cache_invalidate_entire_data() _CPU_cache_flush_entire_data() > _CPU_cache_unfreeze_instruction() _CPU_cache_freeze_instruction() > _CPU_cache_invalidate_1_instruction_line() _CPU_cache_unfreeze_data() > _CPU_cache_freeze_data() _CPU_cache_invalidate_1_data_line() > _CPU_cache_flush_1_data_line() _Thread_Start_multitasking() > > m68k/mcf5225x : _CPU_cache_disable_instruction() > _CPU_cache_enable_instruction() _CPU_cache_invalidate_entire_instruction() > _CPU_cache_disable_data() _CPU_cache_enable_data() > _CPU_cache_invalidate_entire_data() _CPU_cache_flush_entire_data() > _CPU_cache_unfreeze_instruction() _CPU_cache_freeze_instruction() > _CPU_cache_invalidate_1_instruction_line() _CPU_cache_unfreeze_data() > _CPU_cache_freeze_data() _CPU_cache_invalidate_1_data_line() > _CPU_cache_flush_1_data_line() > > m68k/mrm332 : _CPU_ISR_Set_level() _CPU_Fatal_halt() > > m68k/uC5282 : _CPU_cache_disable_instruction() > _CPU_cache_enable_instruction() _CPU_cache_invalidate_entire_instruction() > _CPU_cache_disable_data() _CPU_cache_enable_data() > _CPU_cache_invalidate_entire_data() _CPU_cache_flush_entire_data() > _CPU_cache_unfreeze_instruction() _CPU_cache_freeze_instruction() > _CPU_cache_invalidate_1_instruction_line() _CPU_cache_unfreeze_data() > _CPU_cache_freeze_data() _CPU_cache_invalidate_1_data_line() > _CPU_cache_flush_1_data_line() > > powerpc/gen5200 : _Heap_Free() _Heap_Initialize() _Heap_Allocate() > > powerpc/qoriq : _CPU_SMP_Send_interrupt() > > sparc/erc32 : _BSP_Exception_frame_print() _CPU_ISR_install_raw_handler() > > sparc/leon2 : _BSP_Exception_frame_print() _CPU_ISR_install_raw_handler() > > sparc/leon3 : _BSP_Exception_frame_print() _CPU_ISR_install_raw_handler() > _CPU_SMP_Send_interrupt() > > **** bsggetworkarea not compiled **** > powerpc/mpc55xxevb > > **** bspreset.c not compiled **** > arm/gumstix > avr/avrtest > bfin/bf537Stamp > bfin/eZKit533 > bfin/TLL6527M > h8300/h8sim > lm32/milkymist > m32c/m32cbsp > m68k/av5282 > m68k/csb360 > m68k/gen68302 > m68k/gen68340 > m68k/gen68360 > m68k/genmcf548x > m68k/idp > m68k/mcf5206elite > m68k/mcf52235 > m68k/mcf5225x > m68k/mcf5235 > m68k/mcf5329 > m68k/mrm332 > m68k/mvme136 > m68k/mvme147 > m68k/mvme147s > m68k/mvme162 > m68k/mvme167 > m68k/ods68302 > m68k/sim68000 > mips/genmongoosev > mips/hurricane > mips/jmr3904 > mips/rbtx4925 > mips/rbtx4938 > moxie/moxiesim > nios2/nios2_iss > powerpc/beatnik > powerpc/ep1a > powerpc/haleakala > powerpc/mbx8xx > powerpc/mpc55xxevb > powerpc/mpc8260ads > powerpc/mvme3100 > powerpc/psim > powerpc/qemuppc > powerpc/score603e > powerpc/ss555 > powerpc/tqm8xx > powerpc/virtex4 > powerpc/virtex5 > powerpc/virtex > sh/gensh1 > sh/gensh2 > sh/gensh4 > sh/shsim > sparc64/niagara > sparc64/usiii > sparc/erc32 > sparc/leon2 > sparc/leon3 > > **** start.S not compiled **** > m68k/ods68302 > powerpc/haleakala > > **** bsppredriverhook.c not compiled **** > lm32/lm32_evr > lm32/milkymist > powerpc/mvme3100 > powerpc/score603e > powerpc/virtex4 > powerpc/virtex5 > sparc/erc32 > sparc/leon2 > sparc/leon3 > > **** PIC Support not included ***** > arm/gdbarmsim > avr/avrtest > bfin/bf537Stamp > bfin/eZKit533 > bfin/TLL6527M > h8300/h8sim > lm32/lm32_evr > lm32/milkymist > m32c/m32cbsp > m32r/m32rsim > m68k/av5282 > m68k/csb360 > m68k/gen68302 > m68k/gen68340 > m68k/gen68360 > m68k/genmcf548x > m68k/idp > m68k/mcf5206elite > m68k/mcf52235 > m68k/mcf5225x > m68k/mcf5235 > m68k/mcf5329 > m68k/mrm332 > m68k/mvme136 > m68k/mvme147 > m68k/mvme147s > m68k/mvme162 > m68k/mvme167 > m68k/ods68302 > m68k/sim68000 > m68k/uC5282 > moxie/moxiesim > nios2/nios2_iss > powerpc/beatnik > powerpc/ep1a > powerpc/haleakala > powerpc/motorola_powerpc > powerpc/mvme3100 > powerpc/mvme5500 > powerpc/score603e > powerpc/ss555 > powerpc/virtex4 > powerpc/virtex5 > sh/gensh1 > sh/gensh2 > sh/gensh4 > sh/shsim > sparc64/niagara > sparc64/usiii > v850/gdbv850sim > > Hoping to hear from you soon !! > > > Regards > Vipul Nayyar > >
_______________________________________________ rtems-devel mailing list [email protected] http://www.rtems.org/mailman/listinfo/rtems-devel
