Hi, Digging into the iceberg ... rtems/score/cpu.h for the ppc comes alternativly from below old_exception_processing or new_exception_processing/. All other ports provide it as exec/score/cpu/<cpu>/rtems/score/cpu.h. Multilib-ing exec/ however, requires exec/ to be self-contained, which in particular means that it _must_ _not_ depend on any external file. This means the powerpc fails to meet one of the basic requirement to make RTEMS multilib-ed at this spot. Even worse, when analyzing the dependencies of the ppc's exception processing code, it shows that both exception processing variants are BSP-dependent (Esp. the old_exception_processing code highly depends on various BSP-settings). I.e. there exists a very nasty indirect exception processing code dependency exec -> cpu.h cpu.h -> libcpu-configuration libcpu configuration == BSP-configuration => exec -> BSP-configuration. ["->" .. depends on] I.e. We have a very severe structural design problem wrt. the ppc. At present time, I could imagine these approaches to solving this 1) Make new_exception_processing mandatory for all ppc-BSPs and move its cpu.h to exec/score/cpu/powerpc/rtems/score. 2) Merge new_exception_processing and old_exception_processing's cpu.h into one exec/score/cpu/powerpc/rtems/score/cpu.h. 3) Split new_exception_procssing's cpu.h and old_exception_processing's cpu.h each into pieces, and try to implement shared, common, general score/cpu.h. [3) Abandon multilibs for the ppc. (non-acceptable from my POV)] I considered to file a bug-report on this, but refrained from doing so. But. I think this also answers one of your questions from last week: Porting all ppc BSPs to new_exception_processing will help to some extend, iff the exception handling depends on multilib-flags only and does not depend on any user-provided BSP-/RTEMS-CPU-variant settings. Ralf -- Ralf Corsepius Forschungsinstitut fuer Anwendungsorientierte Wissensverarbeitung (FAW) Helmholtzstr. 16, 89081 Ulm, Germany Tel: +49/731/501-8690 mailto:corsepiu@faw.uni-ulm.de FAX: +49/731/501-999 http://www.faw.uni-ulm.de
participants (1)
-
Ralf Corsepius