Re: [PATCH] bsps: Provide for every BSP

2017-03-07 Thread Sebastian Huber



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

2017-03-07 Thread Sebastian Huber



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

2017-03-07 Thread Gedare Bloom
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 Chhabra
 wrote:
> 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

2017-03-07 Thread Chris Johns

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

2017-03-07 Thread Chris Johns

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

2017-03-07 Thread Chris Johns

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

2017-03-07 Thread Anshuman Chhabra
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

2017-03-07 Thread Sebastian Huber

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

2017-03-07 Thread Gedare Bloom
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 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.
>
> --
> 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

2017-03-07 Thread Sebastian Huber
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

2017-03-07 Thread Sebastian Huber

On 07/03/17 15:29, Gedare Bloom wrote:

On Tue, Mar 7, 2017 at 9:12 AM, Sebastian Huber
 wrote:

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

2017-03-07 Thread Gedare Bloom
On Tue, Mar 7, 2017 at 9:12 AM, Sebastian Huber
 wrote:
> 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

2017-03-07 Thread Sebastian Huber
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

2017-03-07 Thread Sebastian Huber
---
 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