Am 21.05.2014 15:54, schrieb Gedare Bloom: > On Wed, May 21, 2014 at 4:04 AM, Christian Mauderer > <christian.maude...@embedded-brains.de> wrote: >> First of all: Thanks for your comments. You will find answers below. >> >> Am 20.05.2014 16:58, schrieb Gedare Bloom: >>> On Tue, May 20, 2014 at 5:16 AM, Christian Mauderer >>> <christian.maude...@embedded-brains.de> wrote: >>>> From: Christian Mauderer <christian.maude...@embedded-brains.de> >>>> >>>> --- >>>> c/src/lib/libbsp/shared/include/fatal.h | 6 +- >>>> c/src/lib/libbsp/sparc/acinclude.m4 | 2 + >>>> c/src/lib/libbsp/sparc/shared/irq_asm.S | 97 ++++++++++++++++ >>>> c/src/lib/libbsp/sparc/shared/start/start.S | 58 +++++++++- >>>> .../lib/libbsp/sparc/shared/startup/linkcmds.base | 19 ++++ >>>> c/src/lib/libbsp/sparc/xtratum/Makefile.am | 119 >>>> ++++++++++++++++++++ >>>> c/src/lib/libbsp/sparc/xtratum/README | 8 ++ >>>> c/src/lib/libbsp/sparc/xtratum/bsp_specs | 17 +++ >>>> .../sparc/xtratum/clock/clock-xtratum-exec.c | 23 ++++ >>>> .../libbsp/sparc/xtratum/clock/clock-xtratum-hw.c | 21 ++++ >>>> .../lib/libbsp/sparc/xtratum/clock/clock-xtratum.h | 103 +++++++++++++++++ >>>> c/src/lib/libbsp/sparc/xtratum/configure.ac | 33 ++++++ >>>> .../libbsp/sparc/xtratum/console/console-config.c | 27 +++++ >>>> .../libbsp/sparc/xtratum/console/printk-support.c | 28 +++++ >>>> .../sparc/xtratum/console/xtratum-hyper-console.c | 71 ++++++++++++ >>>> c/src/lib/libbsp/sparc/xtratum/include/bsp.h | 52 +++++++++ >>>> c/src/lib/libbsp/sparc/xtratum/include/cache_.h | 113 >>>> +++++++++++++++++++ >>>> .../sparc/xtratum/include/clock-xtratum-exec.h | 26 +++++ >>>> c/src/lib/libbsp/sparc/xtratum/include/irq.h | 2 + >>>> c/src/lib/libbsp/sparc/xtratum/include/tm27.h | 30 +++++ >>>> .../sparc/xtratum/include/xtratum-hyper-console.h | 30 +++++ >>>> c/src/lib/libbsp/sparc/xtratum/include/xtratum.h | 87 +++++++++++++++ >>>> c/src/lib/libbsp/sparc/xtratum/irq/irq.c | 77 +++++++++++++ >>>> .../libbsp/sparc/xtratum/make/custom/xtratum.cfg | 55 +++++++++ >>>> c/src/lib/libbsp/sparc/xtratum/preinstall.am | 123 >>>> +++++++++++++++++++++ >>>> .../libbsp/sparc/xtratum/startup/bsppredriver.c | 7 ++ >>>> c/src/lib/libbsp/sparc/xtratum/startup/bspreset.c | 52 +++++++++ >>>> c/src/lib/libbsp/sparc/xtratum/startup/bspsmp.c | 104 +++++++++++++++++ >>>> c/src/lib/libbsp/sparc/xtratum/startup/bspstart.c | 22 ++++ >>>> .../libbsp/sparc/xtratum/startup/example_xm_cf.xml | 66 +++++++++++ >>>> .../lib/libbsp/sparc/xtratum/startup/isr-en-dis.S | 50 +++++++++ >>>> .../libbsp/sparc/xtratum/startup/linkcmds.xtratum | 20 ++++ >>>> c/src/lib/libbsp/sparc/xtratum/startup/psr.c | 26 +++++ >>>> c/src/lib/libbsp/sparc/xtratum/startup/setvec.c | 61 ++++++++++ >>>> c/src/lib/libbsp/sparc/xtratum/startup/spurious.c | 35 ++++++ >>>> c/src/lib/libbsp/sparc/xtratum/startup/tbr.c | 30 +++++ >>>> c/src/lib/libbsp/sparc/xtratum/xm/xmhdr.c | 36 ++++++ >>>> cpukit/score/cpu/sparc/rtems/score/cpu.h | 11 +- >>>> testsuites/smptests/smpfatal08/init.c | 3 +- >>>> 39 files changed, 1735 insertions(+), 15 deletions(-) >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/Makefile.am >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/README >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/bsp_specs >>>> create mode 100644 >>>> c/src/lib/libbsp/sparc/xtratum/clock/clock-xtratum-exec.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/clock/clock-xtratum-hw.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/clock/clock-xtratum.h >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/configure.ac >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/console/console-config.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/console/printk-support.c >>>> create mode 100644 >>>> c/src/lib/libbsp/sparc/xtratum/console/xtratum-hyper-console.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/include/bsp.h >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/include/cache_.h >>>> create mode 100644 >>>> c/src/lib/libbsp/sparc/xtratum/include/clock-xtratum-exec.h >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/include/irq.h >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/include/tm27.h >>>> create mode 100644 >>>> c/src/lib/libbsp/sparc/xtratum/include/xtratum-hyper-console.h >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/include/xtratum.h >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/irq/irq.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/make/custom/xtratum.cfg >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/preinstall.am >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/startup/bsppredriver.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/startup/bspreset.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/startup/bspsmp.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/startup/bspstart.c >>>> create mode 100644 >>>> c/src/lib/libbsp/sparc/xtratum/startup/example_xm_cf.xml >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/startup/isr-en-dis.S >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/startup/linkcmds.xtratum >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/startup/psr.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/startup/setvec.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/startup/spurious.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/startup/tbr.c >>>> create mode 100644 c/src/lib/libbsp/sparc/xtratum/xm/xmhdr.c >>>> >>>> diff --git a/c/src/lib/libbsp/shared/include/fatal.h >>>> b/c/src/lib/libbsp/shared/include/fatal.h >>>> index e928bba..8ca90bb 100644 >>>> --- a/c/src/lib/libbsp/shared/include/fatal.h >>>> +++ b/c/src/lib/libbsp/shared/include/fatal.h >>>> @@ -101,7 +101,11 @@ typedef enum { >>>> PPC_FATAL_EXCEPTION_INITIALIZATION = BSP_FATAL_CODE_BLOCK(7), >>>> >>>> /* Libchip fatal codes */ >>>> - DWMAC_FATAL_TOO_MANY_RBUFS_CONFIGURED = BSP_FATAL_CODE_BLOCK(8) >>>> + DWMAC_FATAL_TOO_MANY_RBUFS_CONFIGURED = BSP_FATAL_CODE_BLOCK(8), >>>> + >>>> + /* XtratuM fatal codes */ >>>> + XTRATUM_FATAL_CLOCK_IRQ_INSTALL = BSP_FATAL_CODE_BLOCK(9), >>>> + XTRATUM_FATAL_CPU_SMP_INITIALIZE >>>> } bsp_fatal_code; >>>> >>>> RTEMS_COMPILER_NO_RETURN_ATTRIBUTE static inline void >>>> diff --git a/c/src/lib/libbsp/sparc/acinclude.m4 >>>> b/c/src/lib/libbsp/sparc/acinclude.m4 >>>> index 4d40305..0e053fa 100644 >>>> --- a/c/src/lib/libbsp/sparc/acinclude.m4 >>>> +++ b/c/src/lib/libbsp/sparc/acinclude.m4 >>>> @@ -8,6 +8,8 @@ AC_DEFUN([RTEMS_CHECK_BSPDIR], >>>> AC_CONFIG_SUBDIRS([leon2]);; >>>> leon3 ) >>>> AC_CONFIG_SUBDIRS([leon3]);; >>>> + xtratum ) >>>> + AC_CONFIG_SUBDIRS([xtratum]);; >>>> *) >>>> AC_MSG_ERROR([Invalid BSP]);; >>>> esac >>>> diff --git a/c/src/lib/libbsp/sparc/shared/irq_asm.S >>>> b/c/src/lib/libbsp/sparc/shared/irq_asm.S >>>> index bf2dca9..69522a2 100644 >>>> --- a/c/src/lib/libbsp/sparc/shared/irq_asm.S >>>> +++ b/c/src/lib/libbsp/sparc/shared/irq_asm.S >>>> @@ -23,6 +23,10 @@ >>>> #include <rtems/score/percpu.h> >>>> #include <bspopts.h> >>>> >>>> +#ifdef RTEMS_PARAVIRT_XTRATUM >>>> +#include <xm.h> >>> What is this header file? I don't see it in the commit, is it part of >>> the installed XtratuM? >>> >> >> That is correct. It's part of XtratuM. Is there some preferred way of >> marking such headers? >> > Not that I know of. We have discussed a similar issue with the POK > paravirtualization project. The problem is to allow external code > linking to RTEMS. The design should be considered carefully and > probably discussed in a separate thread. > > [...] > >>>> diff --git a/c/src/lib/libbsp/sparc/xtratum/startup/spurious.c >>>> b/c/src/lib/libbsp/sparc/xtratum/startup/spurious.c >>>> new file mode 100644 >>>> index 0000000..2d4428a >>>> --- /dev/null >>>> +++ b/c/src/lib/libbsp/sparc/xtratum/startup/spurious.c >>>> @@ -0,0 +1,35 @@ >>>> +/* >>>> + * LEON Spurious Trap Handler >>>> + * >>>> + * This is just enough of a trap handler to let us know what >>>> + * the likely source of the trap was. >>>> + * >>>> + * Developed as part of the port of RTEMS to the LEON implementation >>>> + * of the SPARC by On-Line Applications Research Corporation (OAR) >>>> + * under contract to the European Space Agency (ESA). >>>> + * >>>> + * COPYRIGHT (c) 1995. European Space Agency. >>>> + * >>>> + * Modified for LEON3 BSP. >>>> + * COPYRIGHT (c) 2004. >>>> + * Gaisler Research. >>>> + * >>>> + * This terms of the RTEMS license apply to this file. >>>> + */ >>>> + >>>> +#include <bsp.h> >>>> +#include <rtems/bspIo.h> >>>> + >>>> +void _BSP_Exception_frame_print( const CPU_Exception_frame *frame ) >>>> +{ >>>> + uint32_t trap; >>>> + uint32_t real_trap; >>>> + const CPU_Interrupt_frame *isf; >>>> + >>>> + trap = frame->trap; >>>> + real_trap = SPARC_REAL_TRAP_NUMBER(trap); >>>> + isf = frame->isf; >>>> + >>>> + printk( "Unexpected trap (0x%02x) at address 0x%08x\n", real_trap, >>>> isf->tpc); >>>> +} >>>> + >>> I don't think this code will get called ever? >>> >> The _BSP_Exception_frame_print of the sparc gets called by the >> _CPU_Exception_frame_print. This again is called by >> rtems_exception_frame_print which is called i.E. in the >> bsp_fatal_extension or in spfatal26-test. >> > OK. It should get a more suitable file name e.g. > bspexceptionframeprint.c. I realize the other sparc BSPs implemented > it in spurious.c, but this BSP does not have a spurious exception > handler, so it doesn't make a lot of sense to have spurious.c. >
Noted. I'll change it as soon as the licensing issue is solved. > Gedare > -- -------------------------------------------- embedded brains GmbH Christian Mauderer Dornierstr. 4 D-82178 Puchheim Germany email: christian.maude...@embedded-brains.de Phone: +49-89-18 94 741 - 18 Fax: +49-89-18 94 741 - 08 PGP: Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. _______________________________________________ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel