On Fri, 2024-06-21 at 21:19 +0100, Andrew Cooper wrote: > RISC-V wants to introduce a full build of Xen without using the > legacy > definitions. PPC64 has the most minimal full build of Xen right now, > so make > it compile without the legacy definitions. > > Mostly this is just including xen/sections.h in a variety of common > files. In > a couple of cases, we can drop an inclusion of {xen,asm}/cache.h, but > almost > all files get the definitions transitively. > > No functional change. > > Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> Reviewed-by: Oleksii Kurochko <oleksii.kuroc...@gmail.com>
~ Oleskii > --- > CC: Shawn Anastasio <sanasta...@raptorengineering.com> > CC: Oleksii Kurochko <oleksii.kuroc...@gmail.com> > CC: George Dunlap <george.dun...@citrix.com> > CC: Jan Beulich <jbeul...@suse.com> > CC: Stefano Stabellini <sstabell...@kernel.org> > CC: Julien Grall <jul...@xen.org> > > https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1342714126 > --- > xen/arch/ppc/include/asm/cache.h | 3 --- > xen/arch/ppc/mm-radix.c | 1 + > xen/arch/ppc/stubs.c | 1 + > xen/common/argo.c | 1 + > xen/common/cpu.c | 1 + > xen/common/debugtrace.c | 1 + > xen/common/domain.c | 1 + > xen/common/event_channel.c | 2 ++ > xen/common/keyhandler.c | 1 + > xen/common/memory.c | 1 + > xen/common/page_alloc.c | 1 + > xen/common/pdx.c | 1 + > xen/common/radix-tree.c | 1 + > xen/common/random.c | 2 +- > xen/common/rcupdate.c | 1 + > xen/common/sched/core.c | 1 + > xen/common/sched/cpupool.c | 1 + > xen/common/sched/credit.c | 1 + > xen/common/sched/credit2.c | 1 + > xen/common/shutdown.c | 1 + > xen/common/spinlock.c | 1 + > xen/common/timer.c | 1 + > xen/common/version.c | 3 +-- > xen/common/virtual_region.c | 1 + > xen/common/vmap.c | 2 +- > xen/drivers/char/console.c | 1 + > xen/drivers/char/ns16550.c | 1 + > xen/drivers/char/serial.c | 2 +- > xen/include/xen/cache.h | 2 +- > xen/include/xen/hypfs.h | 1 + > 30 files changed, 30 insertions(+), 9 deletions(-) > > diff --git a/xen/arch/ppc/include/asm/cache.h > b/xen/arch/ppc/include/asm/cache.h > index 13c0bf3242c8..8a0a6b7b1756 100644 > --- a/xen/arch/ppc/include/asm/cache.h > +++ b/xen/arch/ppc/include/asm/cache.h > @@ -3,7 +3,4 @@ > #ifndef _ASM_PPC_CACHE_H > #define _ASM_PPC_CACHE_H > > -/* TODO: Phase out the use of this via cache.h */ > -#define __read_mostly __section(".data.read_mostly") > - > #endif /* _ASM_PPC_CACHE_H */ > diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c > index ab5a10695c5f..0a47959e64f2 100644 > --- a/xen/arch/ppc/mm-radix.c > +++ b/xen/arch/ppc/mm-radix.c > @@ -2,6 +2,7 @@ > #include <xen/init.h> > #include <xen/kernel.h> > #include <xen/mm.h> > +#include <xen/sections.h> > #include <xen/types.h> > #include <xen/lib.h> > > diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c > index a10691165b1b..0e7a26dadbc1 100644 > --- a/xen/arch/ppc/stubs.c > +++ b/xen/arch/ppc/stubs.c > @@ -3,6 +3,7 @@ > #include <xen/domain.h> > #include <xen/irq.h> > #include <xen/nodemask.h> > +#include <xen/sections.h> > #include <xen/time.h> > #include <public/domctl.h> > #include <public/vm_event.h> > diff --git a/xen/common/argo.c b/xen/common/argo.c > index 901f41eb2dbe..df19006744a3 100644 > --- a/xen/common/argo.c > +++ b/xen/common/argo.c > @@ -25,6 +25,7 @@ > #include <xen/nospec.h> > #include <xen/param.h> > #include <xen/sched.h> > +#include <xen/sections.h> > #include <xen/time.h> > > #include <xsm/xsm.h> > diff --git a/xen/common/cpu.c b/xen/common/cpu.c > index 6e35b114c080..f09af0444b6a 100644 > --- a/xen/common/cpu.c > +++ b/xen/common/cpu.c > @@ -3,6 +3,7 @@ > #include <xen/event.h> > #include <xen/init.h> > #include <xen/sched.h> > +#include <xen/sections.h> > #include <xen/stop_machine.h> > #include <xen/rcupdate.h> > > diff --git a/xen/common/debugtrace.c b/xen/common/debugtrace.c > index a272e5e43761..ca883ad9198d 100644 > --- a/xen/common/debugtrace.c > +++ b/xen/common/debugtrace.c > @@ -13,6 +13,7 @@ > #include <xen/mm.h> > #include <xen/param.h> > #include <xen/percpu.h> > +#include <xen/sections.h> > #include <xen/serial.h> > #include <xen/smp.h> > #include <xen/spinlock.h> > diff --git a/xen/common/domain.c b/xen/common/domain.c > index 67cadb7c3f4f..3db0e0b793f9 100644 > --- a/xen/common/domain.c > +++ b/xen/common/domain.c > @@ -11,6 +11,7 @@ > #include <xen/err.h> > #include <xen/param.h> > #include <xen/sched.h> > +#include <xen/sections.h> > #include <xen/domain.h> > #include <xen/mm.h> > #include <xen/event.h> > diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c > index a67feff98976..822b2c982489 100644 > --- a/xen/common/event_channel.c > +++ b/xen/common/event_channel.c > @@ -26,6 +26,8 @@ > #include <xen/guest_access.h> > #include <xen/hypercall.h> > #include <xen/keyhandler.h> > +#include <xen/sections.h> > + > #include <asm/current.h> > > #include <public/xen.h> > diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c > index 127ca506965c..674e7be39e9d 100644 > --- a/xen/common/keyhandler.c > +++ b/xen/common/keyhandler.c > @@ -6,6 +6,7 @@ > #include <xen/delay.h> > #include <xen/keyhandler.h> > #include <xen/param.h> > +#include <xen/sections.h> > #include <xen/shutdown.h> > #include <xen/event.h> > #include <xen/console.h> > diff --git a/xen/common/memory.c b/xen/common/memory.c > index de2cc7ad92a5..a6f2f6d1b348 100644 > --- a/xen/common/memory.c > +++ b/xen/common/memory.c > @@ -23,6 +23,7 @@ > #include <xen/param.h> > #include <xen/perfc.h> > #include <xen/sched.h> > +#include <xen/sections.h> > #include <xen/trace.h> > #include <xen/types.h> > #include <asm/current.h> > diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c > index 054b7edb3989..33c8c917d984 100644 > --- a/xen/common/page_alloc.c > +++ b/xen/common/page_alloc.c > @@ -134,6 +134,7 @@ > #include <xen/pfn.h> > #include <xen/types.h> > #include <xen/sched.h> > +#include <xen/sections.h> > #include <xen/softirq.h> > #include <xen/spinlock.h> > > diff --git a/xen/common/pdx.c b/xen/common/pdx.c > index d3d63b075032..b8384e6189df 100644 > --- a/xen/common/pdx.c > +++ b/xen/common/pdx.c > @@ -19,6 +19,7 @@ > #include <xen/mm.h> > #include <xen/bitops.h> > #include <xen/nospec.h> > +#include <xen/sections.h> > > /** > * Maximum (non-inclusive) usable pdx. Must be > diff --git a/xen/common/radix-tree.c b/xen/common/radix-tree.c > index adc3034222dc..fb283a9d52fc 100644 > --- a/xen/common/radix-tree.c > +++ b/xen/common/radix-tree.c > @@ -21,6 +21,7 @@ > #include <xen/init.h> > #include <xen/radix-tree.h> > #include <xen/errno.h> > +#include <xen/sections.h> > > struct radix_tree_path { > struct radix_tree_node *node; > diff --git a/xen/common/random.c b/xen/common/random.c > index a29f2fcb991a..35a9f387fd5c 100644 > --- a/xen/common/random.c > +++ b/xen/common/random.c > @@ -1,6 +1,6 @@ > -#include <xen/cache.h> > #include <xen/init.h> > #include <xen/percpu.h> > +#include <xen/sections.h> > #include <xen/random.h> > #include <xen/time.h> > #include <asm/random.h> > diff --git a/xen/common/rcupdate.c b/xen/common/rcupdate.c > index 212a99acd8c8..fd5d3d7484a5 100644 > --- a/xen/common/rcupdate.c > +++ b/xen/common/rcupdate.c > @@ -35,6 +35,7 @@ > #include <xen/kernel.h> > #include <xen/init.h> > #include <xen/param.h> > +#include <xen/sections.h> > #include <xen/spinlock.h> > #include <xen/smp.h> > #include <xen/rcupdate.h> > diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c > index d84b65f197b3..1a3ff5ae4dec 100644 > --- a/xen/common/sched/core.c > +++ b/xen/common/sched/core.c > @@ -18,6 +18,7 @@ > #include <xen/lib.h> > #include <xen/param.h> > #include <xen/sched.h> > +#include <xen/sections.h> > #include <xen/domain.h> > #include <xen/delay.h> > #include <xen/event.h> > diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c > index ad8f60846273..57dfee26f21f 100644 > --- a/xen/common/sched/cpupool.c > +++ b/xen/common/sched/cpupool.c > @@ -22,6 +22,7 @@ > #include <xen/param.h> > #include <xen/percpu.h> > #include <xen/sched.h> > +#include <xen/sections.h> > #include <xen/warning.h> > > #include "private.h" > diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c > index 020f44595ed0..a6bb321e7da1 100644 > --- a/xen/common/sched/credit.c > +++ b/xen/common/sched/credit.c > @@ -12,6 +12,7 @@ > #include <xen/lib.h> > #include <xen/param.h> > #include <xen/sched.h> > +#include <xen/sections.h> > #include <xen/domain.h> > #include <xen/delay.h> > #include <xen/event.h> > diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c > index 685929c2902b..a7da60f40376 100644 > --- a/xen/common/sched/credit2.c > +++ b/xen/common/sched/credit2.c > @@ -14,6 +14,7 @@ > #include <xen/lib.h> > #include <xen/param.h> > #include <xen/sched.h> > +#include <xen/sections.h> > #include <xen/domain.h> > #include <xen/delay.h> > #include <xen/event.h> > diff --git a/xen/common/shutdown.c b/xen/common/shutdown.c > index 5f8141edc6b2..f413f331af17 100644 > --- a/xen/common/shutdown.c > +++ b/xen/common/shutdown.c > @@ -2,6 +2,7 @@ > #include <xen/lib.h> > #include <xen/param.h> > #include <xen/sched.h> > +#include <xen/sections.h> > #include <xen/domain.h> > #include <xen/delay.h> > #include <xen/watchdog.h> > diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c > index 28c6e9d3ac60..0b877384451d 100644 > --- a/xen/common/spinlock.c > +++ b/xen/common/spinlock.c > @@ -5,6 +5,7 @@ > #include <xen/param.h> > #include <xen/smp.h> > #include <xen/time.h> > +#include <xen/sections.h> > #include <xen/spinlock.h> > #include <xen/guest_access.h> > #include <xen/preempt.h> > diff --git a/xen/common/timer.c b/xen/common/timer.c > index a21798b76f38..da0d069cc674 100644 > --- a/xen/common/timer.c > +++ b/xen/common/timer.c > @@ -11,6 +11,7 @@ > #include <xen/sched.h> > #include <xen/lib.h> > #include <xen/param.h> > +#include <xen/sections.h> > #include <xen/smp.h> > #include <xen/perfc.h> > #include <xen/time.h> > diff --git a/xen/common/version.c b/xen/common/version.c > index 80869430fc7c..b7d7d515a3dc 100644 > --- a/xen/common/version.c > +++ b/xen/common/version.c > @@ -3,14 +3,13 @@ > #include <xen/init.h> > #include <xen/errno.h> > #include <xen/lib.h> > +#include <xen/sections.h> > #include <xen/string.h> > #include <xen/types.h> > #include <xen/efi.h> > #include <xen/elf.h> > #include <xen/version.h> > > -#include <asm/cache.h> > - > const char *xen_compile_date(void) > { > return XEN_COMPILE_DATE; > diff --git a/xen/common/virtual_region.c > b/xen/common/virtual_region.c > index 52405d84b25c..1dc2e9f592ed 100644 > --- a/xen/common/virtual_region.c > +++ b/xen/common/virtual_region.c > @@ -6,6 +6,7 @@ > #include <xen/kernel.h> > #include <xen/mm.h> > #include <xen/rcupdate.h> > +#include <xen/sections.h> > #include <xen/spinlock.h> > #include <xen/virtual_region.h> > > diff --git a/xen/common/vmap.c b/xen/common/vmap.c > index 966a7e763f0f..b3b4ddf65311 100644 > --- a/xen/common/vmap.c > +++ b/xen/common/vmap.c > @@ -1,6 +1,6 @@ > #ifdef VMAP_VIRT_START > #include <xen/bitmap.h> > -#include <xen/cache.h> > +#include <xen/sections.h> > #include <xen/init.h> > #include <xen/mm.h> > #include <xen/pfn.h> > diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c > index 3a3a97bcbe3a..7da8c5296f3b 100644 > --- a/xen/drivers/char/console.c > +++ b/xen/drivers/char/console.c > @@ -32,6 +32,7 @@ > #include <xen/warning.h> > #include <xen/pv_console.h> > #include <asm/setup.h> > +#include <xen/sections.h> > > #ifdef CONFIG_X86 > #include <xen/consoled.h> > diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c > index 8f76bbe676bc..eaeb0e09d01e 100644 > --- a/xen/drivers/char/ns16550.c > +++ b/xen/drivers/char/ns16550.c > @@ -22,6 +22,7 @@ > #include <xen/irq.h> > #include <xen/param.h> > #include <xen/sched.h> > +#include <xen/sections.h> > #include <xen/timer.h> > #include <xen/serial.h> > #include <xen/iocap.h> > diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c > index f28d8557c0a5..591a00900869 100644 > --- a/xen/drivers/char/serial.c > +++ b/xen/drivers/char/serial.c > @@ -10,8 +10,8 @@ > #include <xen/init.h> > #include <xen/mm.h> > #include <xen/param.h> > +#include <xen/sections.h> > #include <xen/serial.h> > -#include <xen/cache.h> > > #include <asm/processor.h> > > diff --git a/xen/include/xen/cache.h b/xen/include/xen/cache.h > index 82a3ba38e3e7..a19942fd63ef 100644 > --- a/xen/include/xen/cache.h > +++ b/xen/include/xen/cache.h > @@ -15,7 +15,7 @@ > #define __cacheline_aligned > __attribute__((__aligned__(SMP_CACHE_BYTES))) > #endif > > -#if defined(CONFIG_ARM) || defined(CONFIG_X86) || > defined(CONFIG_PPC64) > +#if defined(CONFIG_ARM) || defined(CONFIG_X86) > /* TODO: Phase out the use of this via cache.h */ > #define __ro_after_init __section(".data.ro_after_init") > #endif > diff --git a/xen/include/xen/hypfs.h b/xen/include/xen/hypfs.h > index 1b65a9188c6c..d8fcac23b46b 100644 > --- a/xen/include/xen/hypfs.h > +++ b/xen/include/xen/hypfs.h > @@ -4,6 +4,7 @@ > #ifdef CONFIG_HYPFS > #include <xen/lib.h> > #include <xen/list.h> > +#include <xen/sections.h> > #include <xen/string.h> > #include <public/hypfs.h> >