build of libbsd for powerpc fails with error: redefinition of 'eieio'

dufault at dufault at
Thu Jul 18 17:37:02 UTC 2019

> On Jul 18, 2019, at 01:16 , Sebastian Huber <sebastian.huber at> wrote:
>>> I think the <bsp.h> should not include the low level io.h header file.

Is there an up-to-date definition of what should be in <bsp.h>?  The latest "RTEMS BSP and Driver Guide” says:

"The file include/bsp.h contains prototypes and definitions specific to this board. Every BSP is required to provide a bsp.h. The best approach to writing a bsp.h is copying an existing one as a starting point.
"Many bsp.h files provide prototypes of variables defined in the linker script (linkcmds).”

- The advice “The best approach… is copying an existing one…” is suspect;
- The above is a poster-child for that EARS document you pointed out.

Removing <libcpu/io.h> from <bsp.h> leaves definitions such as the following that depend definitions from <libcpu/io.h>.  That seem to require a header such as <bsp/io.h> that <libcpu/io.h> would include.

/* fundamental addresses for BSP (CHRPxxx and PREPxxx are from libcpu/io.h) */
#define _IO_BASE            0xe0000000 /* Motload's PCI IO base */
/* address of our ram on the PCI bus   */

Peter Dufault
HD Associates, Inc.      Software and System Engineering

This email is delivered through the public internet using protocols subject to interception and tampering.

More information about the devel mailing list