[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/3] xen/ppc: Avoid using the legacy __read_mostly/__ro_after_init definitions



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.cooper3@xxxxxxxxxx>
Reviewed-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>

~ Oleskii

> ---
> CC: Shawn Anastasio <sanastasio@xxxxxxxxxxxxxxxxxxxxx>
> CC: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
> CC: George Dunlap <George.Dunlap@xxxxxxxxxx>
> CC: Jan Beulich <JBeulich@xxxxxxxx>
> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> CC: Julien Grall <julien@xxxxxxx>
> 
> 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>
>  




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.