Warnings when building sparc/leon3
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue Mar 8 06:44:53 UTC 2022
On 07/03/2022 19:19, Joel Sherrill wrote:
>
>
> On Mon, Mar 7, 2022 at 11:54 AM Sebastian Huber
> <sebastian.huber at embedded-brains.de
> <mailto:sebastian.huber at embedded-brains.de>> wrote:
>
> On 07/03/2022 17:48, Joel Sherrill wrote:
> > This appears to be because
> > rtems_configuration_get_user_multiprocessing_table() always returns a
> > non-NULL value when RTEMS_MULTIPROCESSING is defined. This must
> be a change
> > versus previous behavior.
> >
> > Ryan and I noticed that the specific cases cited here appeared to be
> > wrapped in ifdef RTEMS_MULTIPROCESSING so didn't need to worry
> about it.
> > But something has changed that impacts public facing behavior.
>
> I think this is the related ticket:
>
> https://devel.rtems.org/ticket/3735
> <https://devel.rtems.org/ticket/3735>
>
>
> OK. But apparently this was used to tell the difference between a
> single node system in MP configuration and a node within an
> MP configuration. My grep shows some uses are really dereferencing
> the table but others like the one in amba.h:153 to define the clock
> index looks wrong. THere is similar code in leon.h:
>
> #if defined(RTEMS_MULTIPROCESSING)
> #define LEON3_CLOCK_INDEX \
> (rtems_configuration_get_user_multiprocessing_table() ?
> LEON3_Cpu_Index : 0)
> #else
> #define LEON3_CLOCK_INDEX 0
> #endif
>
> That's the type of pattern that needs addressing. That test is
> asking in multiprocessing is configured in the application not
> in the build.
The rtems_configuration_get_user_multiprocessing_table() ? X : Y
expressions can be simplified to X.
This change needs to be looked at (the comment in the file header makes
no sense after this change):
commit 7f3c6cee09ee44b627b11de34248aba485c789b3
Author: Joel Sherrill <joel.sherrill at OARcorp.com>
Date: Tue Dec 4 22:20:55 2007 +0000
2007-12-04 Joel Sherrill <joel.sherrill at OARcorp.com>
* amba/amba.c, clock/ckinit.c, console/console.c,
include/bsp.h,
startup/bspstart.c, timer/timer.c: Move
interrupt_stack_size field
from CPU Table to Configuration Table. Eliminate CPU Table
from all
ports. Delete references to CPU Table in all forms.
diff --git a/c/src/lib/libbsp/sparc/leon3/timer/timer.c
b/c/src/lib/libbsp/sparc/leon3/timer/timer.c
index 9d6f89a593..2c1127a30a 100644
--- a/c/src/lib/libbsp/sparc/leon3/timer/timer.c
+++ b/c/src/lib/libbsp/sparc/leon3/timer/timer.c
@@ -22,12 +22,13 @@
#include <bsp.h>
-extern rtems_configuration_table Configuration;
-
-#define LEON3_TIMER_INDEX \
- (Configuration.User_multiprocessing_table ? \
- (Configuration.User_multiprocessing_table)->maximum_nodes + \
- (Configuration.User_multiprocessing_table)->node - 1 : 1)
+#if defined(RTEMS_MULTIPROCESSING)
+ #define LEON3_TIMER_INDEX \
+ (rtems_configuration_get_user_multiprocessing_table() ? : \
+ (rtems_configuration_get_user_multiprocessing_table()->node) -
1 : 1)
+#else
+ #define LEON3_TIMER_INDEX 0
+#endif
rtems_boolean Timer_driver_Find_average_overhead;
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
More information about the devel
mailing list