Re: [PATCH] bsps: Provide for every BSP
On 07/03/17 22:05, Chris Johns wrote: On 08/03/2017 01:35, Sebastian Huber wrote: As a background information, I port currently the FDT(4) support from FreeBSD: https://www.freebsd.org/cgi/man.cgi?query=fdt=0=0=FreeBSD+11.0-RELEASE+and+Ports=default=html This allows the use of unmodified FreeBSD drivers on PowerPC and ARM platforms in case the FDT is used. Nice. What are the differences? Difference between ARM and PowerPC? None that I am aware of. Are standard blobs built with any FDT compiler usage? I think the blob FDT itself is platform independent. -- 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: [PATCH] Use a hash file for GCC only
On 07/03/17 23:24, Chris Johns wrote: On 03/03/2017 02:23, Gedare Bloom wrote: In a way, I do like that this shows the different gcc-newlib versions we use. It might be nice to add a bit of organization to this hashes file and/or documentation of the procedure for adding/removing entries. Maybe it makes more sense to have a separate file for each version being used, e.g. a gcc-4.8.3 hash file, gcc-4.9.3, gcc-6.0.1, etc? That should make it easier to maintain the hashes. I'll leave it to Chris to decide if this is a suitable compromise. This seems to have stalled and I have had to push the change to fix builds on FreeBSD 11.0 so reverting the change is not possible. Please apply this patch. We can look at further improvement as future refactoring work. After the comments in this thread I sent an alternative patch that removes the hash file: https://lists.rtems.org/pipermail/devel/2017-March/017102.html Which one do you like? -- 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: Interest in applying for GSoC under RTEMS
Hello Anshuman Chhabra, Complete https://devel.rtems.org/wiki/GSoC/GettingStarted first, and review the material available through https://devel.rtems.org/ticket/2899 Not linked yet in the ticket are last year's projects: https://devel.rtems.org/wiki/GSoC/2016/USB%26EthernetRaspberryPi https://devel.rtems.org/wiki/GSoC/2016/LowLevelPeripherals%26SDcard To work on an RPi project it would also be good if you can boot on one of the currently supported boards. On Tue, Mar 7, 2017 at 12:39 PM, Anshuman Chhabrawrote: > Respected Sir(s)/ Ma'am, > > I am Anshuman Chhabra, a third year undergraduate in Electronics and > Communication Engineering from the University of Delhi, India. I would like > to be a part of GSoC under RTEMS and I am interested in the Raspberry Pi > Projects, specifically adding support for the Pi Zero W. > I have a lot of programming experience (very little of which is reflected at > github.com/anshuman23) as I have been primarily involved in programming for > research work in the fields of mobile networking, machine learning and the > Cloud. I have three IEEE publications as accepted papers at conferences in > India and the USA. I am proficient in multiple languages but enjoy coding in > Python and Ruby the most. > > How should I go about discussing my ideas before the application portal > opens? Also, could someone point me in the right direction to get started > with the specifications of the project? > > Thank you for your time, > Warm Regards, > Anshuman Chhabra > > ___ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH] bsps: Provide for every BSP
On 08/03/2017 01:45, Gedare Bloom wrote: Thanks for the context. I know Chris did some earlier work with FDT (I think for Zynq), so it will be good to wait for him to provide some feedback. I have RTEMS specific support functions which wrap the base FDT interfaces to make it simpler to use in applications when interfacing to hardware. Included is an fdt command to list (ls), read (rd) and write (wr) plus some utility functions like polling for a bitmask to be valid. The command is a useful tool when integrating software for hardware described in the FDT or just debugging new hardware, for example FPGA register sets. I have seen hundreds of #joel scripts in the past few years. The work also includes a faster search of the blob when then are thousands of entries. I just need time to get the work included in RTEMS with tests. Chris ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH] bsps: Provide for every BSP
On 08/03/2017 01:35, Sebastian Huber wrote: As a background information, I port currently the FDT(4) support from FreeBSD: https://www.freebsd.org/cgi/man.cgi?query=fdt=0=0=FreeBSD+11.0-RELEASE+and+Ports=default=html This allows the use of unmodified FreeBSD drivers on PowerPC and ARM platforms in case the FDT is used. Nice. What are the differences? Are standard blobs built with any FDT compiler usage? Chris ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH] arm: Remove legacy execption support
On 08/03/2017 00:33, Sebastian Huber wrote: --- c/src/lib/libbsp/arm/Makefile.am | 3 - c/src/lib/libbsp/arm/csb336/Makefile.am | 2 - c/src/lib/libbsp/arm/csb336/start/start.S| 55 c/src/lib/libbsp/arm/csb336/startup/bspstart.c | 6 - c/src/lib/libbsp/arm/csb337/Makefile.am | 2 - c/src/lib/libbsp/arm/csb337/start/start.S| 55 c/src/lib/libbsp/arm/csb337/startup/bspstart.c | 6 - c/src/lib/libbsp/arm/edb7312/Makefile.am | 2 - c/src/lib/libbsp/arm/edb7312/start/start.S | 70 +- c/src/lib/libbsp/arm/edb7312/startup/bspstart.c | 6 - c/src/lib/libbsp/arm/gumstix/Makefile.am | 2 - c/src/lib/libbsp/arm/gumstix/start/start.S | 55 c/src/lib/libbsp/arm/gumstix/startup/bspstart.c | 2 - c/src/lib/libbsp/arm/rtl22xx/Makefile.am | 2 - c/src/lib/libbsp/arm/rtl22xx/start/start.S | 97 - c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c | 6 - c/src/lib/libbsp/arm/shared/abort/abort.c| 145 c/src/lib/libbsp/arm/shared/abort/abort.h| 52 --- c/src/lib/libbsp/arm/shared/abort/simple_abort.c | 146 c/src/lib/libbsp/arm/smdk2410/Makefile.am| 2 - c/src/lib/libbsp/arm/smdk2410/start/start.S | 55 c/src/lib/libbsp/arm/smdk2410/startup/bspstart.c | 6 - cpukit/score/cpu/arm/Makefile.am | 2 - cpukit/score/cpu/arm/arm_exc_handler_high.c | 127 - cpukit/score/cpu/arm/arm_exc_handler_low.S | 166 --- cpukit/score/cpu/arm/rtems/score/cpu.h | 6 - 26 files changed, 182 insertions(+), 896 deletions(-) delete mode 100644 c/src/lib/libbsp/arm/shared/abort/abort.c delete mode 100644 c/src/lib/libbsp/arm/shared/abort/abort.h delete mode 100644 c/src/lib/libbsp/arm/shared/abort/simple_abort.c delete mode 100644 cpukit/score/cpu/arm/arm_exc_handler_high.c delete mode 100644 cpukit/score/cpu/arm/arm_exc_handler_low.S +1 Thank you for doing this. It is always confusing having both in the tree. Chris ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Interest in applying for GSoC under RTEMS
Respected Sir(s)/ Ma'am, I am Anshuman Chhabra, a third year undergraduate in Electronics and Communication Engineering from the University of Delhi, India. I would like to be a part of GSoC under RTEMS and I am interested in the Raspberry Pi Projects, specifically adding support for the Pi Zero W. I have a lot of programming experience (very little of which is reflected at github.com/anshuman23) as I have been primarily involved in programming for research work in the fields of mobile networking, machine learning and the Cloud. I have three IEEE publications as accepted papers at conferences in India and the USA. I am proficient in multiple languages but enjoy coding in Python and Ruby the most. How should I go about discussing my ideas before the application portal opens? Also, could someone point me in the right direction to get started with the specifications of the project? Thank you for your time, Warm Regards, Anshuman Chhabra cern_cv.pdf Description: Adobe PDF document ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: Issue with 'rtems_shell_wait_for_input' function
On 03/03/17 23:50, vivek kukreja wrote: Hello all, I made few changes to the fileio test to run NFS using libbsd. The test compiles and when i run it on qemu NFS is initialised. The test starts with the 'rtems_shell_wait_for_input' function which returns RTEMS_UNSATISFIED so the test quits as soon as it begins. I read this means the terminal related attributes could not be set. When i bypass this function to directly start the test it works fine. Im not sure this is a bug or some problem with my configuration. Any help with this issue is appreciated! The serial driver doesn't implement the set attributes device handler properly and returns an error. -- 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: [PATCH] bsps: Provide for every BSP
Thanks for the context. I know Chris did some earlier work with FDT (I think for Zynq), so it will be good to wait for him to provide some feedback. On Tue, Mar 7, 2017 at 9:35 AM, Sebastian Huberwrote: > As a background information, I port currently the FDT(4) support from > FreeBSD: > > https://www.freebsd.org/cgi/man.cgi?query=fdt=0=0=FreeBSD+11.0-RELEASE+and+Ports=default=html > > This allows the use of unmodified FreeBSD drivers on PowerPC and ARM > platforms in case the FDT is used. > > -- > 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 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH] bsps: Provide for every BSP
As a background information, I port currently the FDT(4) support from FreeBSD: https://www.freebsd.org/cgi/man.cgi?query=fdt=0=0=FreeBSD+11.0-RELEASE+and+Ports=default=html This allows the use of unmodified FreeBSD drivers on PowerPC and ARM platforms in case the FDT is used. -- 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: [PATCH] bsps: Provide for every BSP
On 07/03/17 15:29, Gedare Bloom wrote: On Tue, Mar 7, 2017 at 9:12 AM, Sebastian Huberwrote: Add bsp_fdt_map_intr() intended for the libbsd FDT support. --- c/src/lib/libbsp/Makefile.am | 1 + c/src/lib/libbsp/powerpc/qoriq/Makefile.am| 1 - c/src/lib/libbsp/powerpc/qoriq/include/bsp.h | 4 +++- c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c | 7 +- c/src/lib/libbsp/preinstall.am| 4 c/src/lib/libbsp/shared/include/fdt.h | 27 ++- c/src/lib/libbsp/shared/src/bsp-fdt.c | 7 -- 7 files changed, 45 insertions(+), 6 deletions(-) diff --git a/c/src/lib/libbsp/Makefile.am b/c/src/lib/libbsp/Makefile.am index c54fdcb..85ddbe2 100644 --- a/c/src/lib/libbsp/Makefile.am +++ b/c/src/lib/libbsp/Makefile.am @@ -37,6 +37,7 @@ include_bspdir = $(includedir)/bsp include_bsp_HEADERS = include_bsp_HEADERS += shared/include/default-initial-extension.h include_bsp_HEADERS += shared/include/fatal.h +include_bsp_HEADERS += shared/include/fdt.h include_bsp_HEADERS += shared/include/console-termios.h include_bsp_HEADERS += shared/include/gpio.h diff --git a/c/src/lib/libbsp/powerpc/qoriq/Makefile.am b/c/src/lib/libbsp/powerpc/qoriq/Makefile.am index 64ef08d..93473ab 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/Makefile.am +++ b/c/src/lib/libbsp/powerpc/qoriq/Makefile.am @@ -22,7 +22,6 @@ include_bsp_HEADERS = include/irq.h \ ../../shared/include/irq-generic.h \ ../../shared/include/irq-info.h \ ../../shared/include/bootcard.h \ - ../../shared/include/fdt.h \ ../../shared/include/utility.h \ ../shared/include/start.h \ ../shared/include/tictac.h \ diff --git a/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h b/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h index d1fd907..7469ab1 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h @@ -7,7 +7,7 @@ */ /* - * Copyright (c) 2010-2015 embedded brains GmbH. All rights reserved. + * Copyright (c) 2010, 2017 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -37,6 +37,8 @@ extern "C" { #define BSP_FEATURE_IRQ_EXTENSION +#define BSP_FDT_IS_SUPPORTED + This seems fairly reasonable. It needs an addition to the BSP guide. We need a completely new BSP guide. #define QORIQ_CHIP(alpha, num) ((alpha) * 1 + (num)) #define QORIQ_CHIP_P1020 QORIQ_CHIP('P', 1020) diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c b/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c index cbe1970..7aba178 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c @@ -7,7 +7,7 @@ */ /* - * Copyright (c) 2010-2015 embedded brains GmbH. All rights reserved. + * Copyright (c) 2010, 2017 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -169,3 +169,8 @@ void bsp_start(void) qoriq.lcc.bptr &= ~BPTR_EN; #endif } + +uint32_t bsp_fdt_map_intr(uint32_t intr) +{ + return intr - 16; +} diff --git a/c/src/lib/libbsp/preinstall.am b/c/src/lib/libbsp/preinstall.am index bbcb7c5..505803f 100644 --- a/c/src/lib/libbsp/preinstall.am +++ b/c/src/lib/libbsp/preinstall.am @@ -26,6 +26,10 @@ $(PROJECT_INCLUDE)/bsp/fatal.h: shared/include/fatal.h $(PROJECT_INCLUDE)/bsp/$( $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/fatal.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/fatal.h +$(PROJECT_INCLUDE)/bsp/fdt.h: shared/include/fdt.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/fdt.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/fdt.h + $(PROJECT_INCLUDE)/bsp/console-termios.h: shared/include/console-termios.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/console-termios.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/console-termios.h diff --git a/c/src/lib/libbsp/shared/include/fdt.h b/c/src/lib/libbsp/shared/include/fdt.h index a4c7df6..44298f4 100644 --- a/c/src/lib/libbsp/shared/include/fdt.h +++ b/c/src/lib/libbsp/shared/include/fdt.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 embedded brains GmbH. All rights reserved. + * Copyright (c) 2015, 2017 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -15,14 +15,39 @@ #ifndef LIBBSP_SHARED_FDT_H #define LIBBSP_SHARED_FDT_H +#include + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ +/* + * BSPs that implement the FDT support functions must define + * BSP_FDT_IS_SUPPORTED. + */ + void bsp_fdt_copy(const void *src); Missing doxygen for this function. Ok, I will add something. This is more or less an internal low-level function. -- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49
Re: [PATCH] bsps: Provide for every BSP
On Tue, Mar 7, 2017 at 9:12 AM, Sebastian Huberwrote: > Add bsp_fdt_map_intr() intended for the libbsd FDT support. > --- > c/src/lib/libbsp/Makefile.am | 1 + > c/src/lib/libbsp/powerpc/qoriq/Makefile.am| 1 - > c/src/lib/libbsp/powerpc/qoriq/include/bsp.h | 4 +++- > c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c | 7 +- > c/src/lib/libbsp/preinstall.am| 4 > c/src/lib/libbsp/shared/include/fdt.h | 27 > ++- > c/src/lib/libbsp/shared/src/bsp-fdt.c | 7 -- > 7 files changed, 45 insertions(+), 6 deletions(-) > > diff --git a/c/src/lib/libbsp/Makefile.am b/c/src/lib/libbsp/Makefile.am > index c54fdcb..85ddbe2 100644 > --- a/c/src/lib/libbsp/Makefile.am > +++ b/c/src/lib/libbsp/Makefile.am > @@ -37,6 +37,7 @@ include_bspdir = $(includedir)/bsp > include_bsp_HEADERS = > include_bsp_HEADERS += shared/include/default-initial-extension.h > include_bsp_HEADERS += shared/include/fatal.h > +include_bsp_HEADERS += shared/include/fdt.h > include_bsp_HEADERS += shared/include/console-termios.h > include_bsp_HEADERS += shared/include/gpio.h > > diff --git a/c/src/lib/libbsp/powerpc/qoriq/Makefile.am > b/c/src/lib/libbsp/powerpc/qoriq/Makefile.am > index 64ef08d..93473ab 100644 > --- a/c/src/lib/libbsp/powerpc/qoriq/Makefile.am > +++ b/c/src/lib/libbsp/powerpc/qoriq/Makefile.am > @@ -22,7 +22,6 @@ include_bsp_HEADERS = include/irq.h \ > ../../shared/include/irq-generic.h \ > ../../shared/include/irq-info.h \ > ../../shared/include/bootcard.h \ > - ../../shared/include/fdt.h \ > ../../shared/include/utility.h \ > ../shared/include/start.h \ > ../shared/include/tictac.h \ > diff --git a/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h > b/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h > index d1fd907..7469ab1 100644 > --- a/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h > +++ b/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h > @@ -7,7 +7,7 @@ > */ > > /* > - * Copyright (c) 2010-2015 embedded brains GmbH. All rights reserved. > + * Copyright (c) 2010, 2017 embedded brains GmbH. All rights reserved. > * > * embedded brains GmbH > * Dornierstr. 4 > @@ -37,6 +37,8 @@ extern "C" { > > #define BSP_FEATURE_IRQ_EXTENSION > > +#define BSP_FDT_IS_SUPPORTED > + This seems fairly reasonable. It needs an addition to the BSP guide. > #define QORIQ_CHIP(alpha, num) ((alpha) * 1 + (num)) > > #define QORIQ_CHIP_P1020 QORIQ_CHIP('P', 1020) > diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c > b/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c > index cbe1970..7aba178 100644 > --- a/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c > +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c > @@ -7,7 +7,7 @@ > */ > > /* > - * Copyright (c) 2010-2015 embedded brains GmbH. All rights reserved. > + * Copyright (c) 2010, 2017 embedded brains GmbH. All rights reserved. > * > * embedded brains GmbH > * Dornierstr. 4 > @@ -169,3 +169,8 @@ void bsp_start(void) >qoriq.lcc.bptr &= ~BPTR_EN; > #endif > } > + > +uint32_t bsp_fdt_map_intr(uint32_t intr) > +{ > + return intr - 16; > +} > diff --git a/c/src/lib/libbsp/preinstall.am b/c/src/lib/libbsp/preinstall.am > index bbcb7c5..505803f 100644 > --- a/c/src/lib/libbsp/preinstall.am > +++ b/c/src/lib/libbsp/preinstall.am > @@ -26,6 +26,10 @@ $(PROJECT_INCLUDE)/bsp/fatal.h: shared/include/fatal.h > $(PROJECT_INCLUDE)/bsp/$( > $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/fatal.h > PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/fatal.h > > +$(PROJECT_INCLUDE)/bsp/fdt.h: shared/include/fdt.h > $(PROJECT_INCLUDE)/bsp/$(dirstamp) > + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/fdt.h > +PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/fdt.h > + > $(PROJECT_INCLUDE)/bsp/console-termios.h: shared/include/console-termios.h > $(PROJECT_INCLUDE)/bsp/$(dirstamp) > $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/console-termios.h > PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/console-termios.h > diff --git a/c/src/lib/libbsp/shared/include/fdt.h > b/c/src/lib/libbsp/shared/include/fdt.h > index a4c7df6..44298f4 100644 > --- a/c/src/lib/libbsp/shared/include/fdt.h > +++ b/c/src/lib/libbsp/shared/include/fdt.h > @@ -1,5 +1,5 @@ > /* > - * Copyright (c) 2015 embedded brains GmbH. All rights reserved. > + * Copyright (c) 2015, 2017 embedded brains GmbH. All rights reserved. > * > * embedded brains GmbH > * Dornierstr. 4 > @@ -15,14 +15,39 @@ > #ifndef LIBBSP_SHARED_FDT_H > #define LIBBSP_SHARED_FDT_H > > +#include > + > #ifdef __cplusplus > extern "C" { > #endif /* __cplusplus */ > > +/* > + * BSPs that implement the FDT support functions must define > + * BSP_FDT_IS_SUPPORTED. > + */ > + > void bsp_fdt_copy(const void *src); > Missing doxygen for this function. > +/** > + * @brief Returns the FDT of the BSP. > + * > + * @return The FDT
[PATCH] bsps: Provide for every BSP
Add bsp_fdt_map_intr() intended for the libbsd FDT support. --- c/src/lib/libbsp/Makefile.am | 1 + c/src/lib/libbsp/powerpc/qoriq/Makefile.am| 1 - c/src/lib/libbsp/powerpc/qoriq/include/bsp.h | 4 +++- c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c | 7 +- c/src/lib/libbsp/preinstall.am| 4 c/src/lib/libbsp/shared/include/fdt.h | 27 ++- c/src/lib/libbsp/shared/src/bsp-fdt.c | 7 -- 7 files changed, 45 insertions(+), 6 deletions(-) diff --git a/c/src/lib/libbsp/Makefile.am b/c/src/lib/libbsp/Makefile.am index c54fdcb..85ddbe2 100644 --- a/c/src/lib/libbsp/Makefile.am +++ b/c/src/lib/libbsp/Makefile.am @@ -37,6 +37,7 @@ include_bspdir = $(includedir)/bsp include_bsp_HEADERS = include_bsp_HEADERS += shared/include/default-initial-extension.h include_bsp_HEADERS += shared/include/fatal.h +include_bsp_HEADERS += shared/include/fdt.h include_bsp_HEADERS += shared/include/console-termios.h include_bsp_HEADERS += shared/include/gpio.h diff --git a/c/src/lib/libbsp/powerpc/qoriq/Makefile.am b/c/src/lib/libbsp/powerpc/qoriq/Makefile.am index 64ef08d..93473ab 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/Makefile.am +++ b/c/src/lib/libbsp/powerpc/qoriq/Makefile.am @@ -22,7 +22,6 @@ include_bsp_HEADERS = include/irq.h \ ../../shared/include/irq-generic.h \ ../../shared/include/irq-info.h \ ../../shared/include/bootcard.h \ - ../../shared/include/fdt.h \ ../../shared/include/utility.h \ ../shared/include/start.h \ ../shared/include/tictac.h \ diff --git a/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h b/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h index d1fd907..7469ab1 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/qoriq/include/bsp.h @@ -7,7 +7,7 @@ */ /* - * Copyright (c) 2010-2015 embedded brains GmbH. All rights reserved. + * Copyright (c) 2010, 2017 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -37,6 +37,8 @@ extern "C" { #define BSP_FEATURE_IRQ_EXTENSION +#define BSP_FDT_IS_SUPPORTED + #define QORIQ_CHIP(alpha, num) ((alpha) * 1 + (num)) #define QORIQ_CHIP_P1020 QORIQ_CHIP('P', 1020) diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c b/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c index cbe1970..7aba178 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c @@ -7,7 +7,7 @@ */ /* - * Copyright (c) 2010-2015 embedded brains GmbH. All rights reserved. + * Copyright (c) 2010, 2017 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -169,3 +169,8 @@ void bsp_start(void) qoriq.lcc.bptr &= ~BPTR_EN; #endif } + +uint32_t bsp_fdt_map_intr(uint32_t intr) +{ + return intr - 16; +} diff --git a/c/src/lib/libbsp/preinstall.am b/c/src/lib/libbsp/preinstall.am index bbcb7c5..505803f 100644 --- a/c/src/lib/libbsp/preinstall.am +++ b/c/src/lib/libbsp/preinstall.am @@ -26,6 +26,10 @@ $(PROJECT_INCLUDE)/bsp/fatal.h: shared/include/fatal.h $(PROJECT_INCLUDE)/bsp/$( $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/fatal.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/fatal.h +$(PROJECT_INCLUDE)/bsp/fdt.h: shared/include/fdt.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/fdt.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/fdt.h + $(PROJECT_INCLUDE)/bsp/console-termios.h: shared/include/console-termios.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/console-termios.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/console-termios.h diff --git a/c/src/lib/libbsp/shared/include/fdt.h b/c/src/lib/libbsp/shared/include/fdt.h index a4c7df6..44298f4 100644 --- a/c/src/lib/libbsp/shared/include/fdt.h +++ b/c/src/lib/libbsp/shared/include/fdt.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 embedded brains GmbH. All rights reserved. + * Copyright (c) 2015, 2017 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -15,14 +15,39 @@ #ifndef LIBBSP_SHARED_FDT_H #define LIBBSP_SHARED_FDT_H +#include + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ +/* + * BSPs that implement the FDT support functions must define + * BSP_FDT_IS_SUPPORTED. + */ + void bsp_fdt_copy(const void *src); +/** + * @brief Returns the FDT of the BSP. + * + * @return The FDT of the BSP. + */ const void *bsp_fdt_get(void); +/** + * @brief Maps the interrupt number of the FDT to the interrupt vector used by + * the interrupt management. + * + * This function is used by the libbsd to implement the OFW_BUS_MAP_INTR bus + * method. + * + * @param[in] intr The FDT interrupt number. + * + * @return The interrupt vector of the FDT interrupt number. + */ +uint32_t bsp_fdt_map_intr(uint32_t intr); + #ifdef __cplusplus
[PATCH] arm: Remove legacy execption support
--- c/src/lib/libbsp/arm/Makefile.am | 3 - c/src/lib/libbsp/arm/csb336/Makefile.am | 2 - c/src/lib/libbsp/arm/csb336/start/start.S| 55 c/src/lib/libbsp/arm/csb336/startup/bspstart.c | 6 - c/src/lib/libbsp/arm/csb337/Makefile.am | 2 - c/src/lib/libbsp/arm/csb337/start/start.S| 55 c/src/lib/libbsp/arm/csb337/startup/bspstart.c | 6 - c/src/lib/libbsp/arm/edb7312/Makefile.am | 2 - c/src/lib/libbsp/arm/edb7312/start/start.S | 70 +- c/src/lib/libbsp/arm/edb7312/startup/bspstart.c | 6 - c/src/lib/libbsp/arm/gumstix/Makefile.am | 2 - c/src/lib/libbsp/arm/gumstix/start/start.S | 55 c/src/lib/libbsp/arm/gumstix/startup/bspstart.c | 2 - c/src/lib/libbsp/arm/rtl22xx/Makefile.am | 2 - c/src/lib/libbsp/arm/rtl22xx/start/start.S | 97 - c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c | 6 - c/src/lib/libbsp/arm/shared/abort/abort.c| 145 c/src/lib/libbsp/arm/shared/abort/abort.h| 52 --- c/src/lib/libbsp/arm/shared/abort/simple_abort.c | 146 c/src/lib/libbsp/arm/smdk2410/Makefile.am| 2 - c/src/lib/libbsp/arm/smdk2410/start/start.S | 55 c/src/lib/libbsp/arm/smdk2410/startup/bspstart.c | 6 - cpukit/score/cpu/arm/Makefile.am | 2 - cpukit/score/cpu/arm/arm_exc_handler_high.c | 127 - cpukit/score/cpu/arm/arm_exc_handler_low.S | 166 --- cpukit/score/cpu/arm/rtems/score/cpu.h | 6 - 26 files changed, 182 insertions(+), 896 deletions(-) delete mode 100644 c/src/lib/libbsp/arm/shared/abort/abort.c delete mode 100644 c/src/lib/libbsp/arm/shared/abort/abort.h delete mode 100644 c/src/lib/libbsp/arm/shared/abort/simple_abort.c delete mode 100644 cpukit/score/cpu/arm/arm_exc_handler_high.c delete mode 100644 cpukit/score/cpu/arm/arm_exc_handler_low.S diff --git a/c/src/lib/libbsp/arm/Makefile.am b/c/src/lib/libbsp/arm/Makefile.am index 9783354..a567a2c 100644 --- a/c/src/lib/libbsp/arm/Makefile.am +++ b/c/src/lib/libbsp/arm/Makefile.am @@ -18,9 +18,6 @@ EXTRA_DIST = EXTRA_DIST += shared/comm/uart.h EXTRA_DIST += shared/comm/uart.c -# abort -EXTRA_DIST += shared/abort/simple_abort.c - include $(srcdir)/preinstall.am include $(top_srcdir)/../../../automake/subdirs.am include $(top_srcdir)/../../../automake/local.am diff --git a/c/src/lib/libbsp/arm/csb336/Makefile.am b/c/src/lib/libbsp/arm/csb336/Makefile.am index 27d159f..09bc358 100644 --- a/c/src/lib/libbsp/arm/csb336/Makefile.am +++ b/c/src/lib/libbsp/arm/csb336/Makefile.am @@ -38,8 +38,6 @@ libbsp_a_SOURCES += ../../shared/cpucounterread.c libbsp_a_SOURCES += ../../shared/cpucounterdiff.c # console libbsp_a_SOURCES += console/uart.c -# abort -libbsp_a_SOURCES += ../shared/abort/abort.c # IRQ include_bsp_HEADERS += ../../shared/include/irq-generic.h \ ../../shared/include/irq-info.h diff --git a/c/src/lib/libbsp/arm/csb336/start/start.S b/c/src/lib/libbsp/arm/csb336/start/start.S index 1935ded..ce452f5 100644 --- a/c/src/lib/libbsp/arm/csb336/start/start.S +++ b/c/src/lib/libbsp/arm/csb336/start/start.S @@ -132,28 +132,35 @@ _hang: b _hang * of 16 words (64 bytes) */ vector_block: -ldr pc, Reset_Handler -ldr pc, Undefined_Handler -ldr pc, SWI_Handler -ldr pc, Prefetch_Handler -ldr pc, Abort_Handler +ldrpc, handler_addr_reset +ldrpc, handler_addr_undef +ldrpc, handler_addr_swi +ldrpc, handler_addr_prefetch +ldrpc, handler_addr_abort nop -ldr pc, IRQ_Handler -ldr pc, FIQ_Handler - -Reset_Handler: b bsp_reset -Undefined_Handler: b Undefined_Handler -SWI_Handler:b SWI_Handler -Prefetch_Handler: b Prefetch_Handler -Abort_Handler: b Abort_Handler -nop -IRQ_Handler:b IRQ_Handler -FIQ_Handler:b FIQ_Handler - -.globl Reset_Handler -.globl Undefined_Handler -.globl SWI_Handler -.globl Prefetch_Handler -.globl Abort_Handler -.globl IRQ_Handler -.globl FIQ_Handler +ldrpc, handler_addr_irq +ldrpc, handler_addr_fiq + +handler_addr_reset: +.word bsp_reset + +handler_addr_undef: +.word _ARMV4_Exception_undef_default + +handler_addr_swi: +.word _ARMV4_Exception_swi_default + +handler_addr_prefetch: +.word _ARMV4_Exception_pref_abort_default + +handler_addr_abort: +.word _ARMV4_Exception_data_abort_default + +handler_addr_reserved: +.word _ARMV4_Exception_reserved_default + +handler_addr_irq: +.word _ARMV4_Exception_interrupt + +handler_addr_fiq: +.word _ARMV4_Exception_fiq_default diff --git