03/04/2019 21:28, Jerin Jacob Kollanukkaran: > From: Jerin Jacob <jer...@marvell.com> > > baremetal execution environments may have a different > method to enable RTE_INIT instead of using compiler > constructor and/or OS specific linker scheme. > Allow an option to override RTE_INIT* macros using > rte_os.h or appropriate header file. > > Signed-off-by: Jerin Jacob <jer...@marvell.com> > --- > > v2: > - Leverage the rte_os.h created by Windows port to override RTE_INIT* macro > if needed. > - Removed the exec environment specific > librte_eal/<OS>/eal/include/exec-env/rte_exec-env.h > file creation > - Removed the duplication of RTE_INIT_* definition on each rte_exec-env.h file > as it is common for Linux,FreeBSD and Windows port > > --- a/lib/librte_eal/common/include/rte_common.h > +++ b/lib/librte_eal/common/include/rte_common.h > @@ -106,8 +106,10 @@ typedef uint16_t unaligned_uint16_t; > * Priority number must be above 100. > * Lowest number is the first to run. > */ > +#ifndef RTE_INIT_PRIO /* Allow to override from eal */ > #define RTE_INIT_PRIO(func, prio) \ > static void __attribute__((constructor(RTE_PRIO(prio)), used)) func(void) > +#endif
I did not think about such #ifndef, it's a lot simpler :) As a nit, I would just fix eal to uppercase EAL in the above comment. I may do it on apply. Acked-by: Thomas Monjalon <tho...@monjalon.net>