Message ID | 20190924171742.25480-1-julien.grall@arm.com |
---|---|
State | New |
Headers | show |
Series | [Xen-devel,RESEND,for-4.13] xen: sched: Fix Arm build after commit f855dd9625 | expand |
Hi all, On 9/24/19 6:17 PM, Julien Grall wrote: > Commit f855dd9625 "sched: add minimalistic idle scheduler for free cpus" > introduce the use of ZERO_BLOCK_PTR in the scheduler code. However, the > define does not exist outside of xmalloc_tsf.c for non-x86 architecture. > > This will result to a compilation error on Arm: > > schedule.c: In function ‘sched_idle_alloc_vdata’: > schedule.c:100:12: error: ‘ZERO_BLOCK_PTR’ undeclared (first use in this function) > return ZERO_BLOCK_PTR; > ^~~~~~~~~~~~~~ > schedule.c:100:12: note: each undeclared identifier is reported only once for each function it appears in > schedule.c:101:1: error: control reaches end of non-void function [-Werror=return-type] > } > ^ > cc1: all warnings being treated as errors > > To avoid the compilation error, the default definition for > ZERO_BLOCK_PTR is now moved in xen/config.h allowing all the code to use > the define. > > Fixes: f855dd9625 ('sched: add minimalistic idle scheduler for free cpus') > Signed-off-by: Julien Grall <julien.grall@arm.com> FYI, Andrew acked the patch on IRC, so I have committed it. Cheers,
diff --git a/xen/common/xmalloc_tlsf.c b/xen/common/xmalloc_tlsf.c index e98ad65455..1e8d72dea2 100644 --- a/xen/common/xmalloc_tlsf.c +++ b/xen/common/xmalloc_tlsf.c @@ -549,11 +549,6 @@ static void tlsf_init(void) * xmalloc() */ -#ifndef ZERO_BLOCK_PTR -/* Return value for zero-size allocation, distinguished from NULL. */ -#define ZERO_BLOCK_PTR ((void *)-1L) -#endif - void *_xmalloc(unsigned long size, unsigned long align) { void *p = NULL; diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h index a1d0f970a7..a106380a23 100644 --- a/xen/include/xen/config.h +++ b/xen/include/xen/config.h @@ -86,4 +86,9 @@ #define NDEBUG #endif +#ifndef ZERO_BLOCK_PTR +/* Return value for zero-size allocation, distinguished from NULL. */ +#define ZERO_BLOCK_PTR ((void *)-1L) +#endif + #endif /* __XEN_CONFIG_H__ */
Commit f855dd9625 "sched: add minimalistic idle scheduler for free cpus" introduce the use of ZERO_BLOCK_PTR in the scheduler code. However, the define does not exist outside of xmalloc_tsf.c for non-x86 architecture. This will result to a compilation error on Arm: schedule.c: In function ‘sched_idle_alloc_vdata’: schedule.c:100:12: error: ‘ZERO_BLOCK_PTR’ undeclared (first use in this function) return ZERO_BLOCK_PTR; ^~~~~~~~~~~~~~ schedule.c:100:12: note: each undeclared identifier is reported only once for each function it appears in schedule.c:101:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors To avoid the compilation error, the default definition for ZERO_BLOCK_PTR is now moved in xen/config.h allowing all the code to use the define. Fixes: f855dd9625 ('sched: add minimalistic idle scheduler for free cpus') Signed-off-by: Julien Grall <julien.grall@arm.com> --- xen/common/xmalloc_tlsf.c | 5 ----- xen/include/xen/config.h | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-)