xen/arch/arm/arm32/asm-offsets.c | 1 + xen/arch/arm/arm64/asm-offsets.c | 1 + xen/arch/arm/include/asm/init.h | 20 -------------------- xen/arch/arm/include/asm/setup.h | 8 ++++++++ xen/arch/x86/acpi/power.c | 1 - xen/arch/x86/include/asm/init.h | 4 ---- xen/include/xen/init.h | 2 -- 7 files changed, 10 insertions(+), 27 deletions(-) delete mode 100644 xen/arch/arm/include/asm/init.h delete mode 100644 xen/arch/x86/include/asm/init.h
From: Julien Grall <jgrall@amazon.com>
Both x86 and (soon) RISC-V version of init.h are empty. On Arm, it contains
a structure that should not be used by any common code.
The structure init_info is used to store information to setup the CPU
currently being brought-up. setup.h seems to be more suitable even though
the header is getting quite crowded.
Looking through the history, <asm/init.h> was introduced at the same
time as the ia64 port because for some reasons most of the macros
where duplicated. This was changed in 72c07f413879 and I don't
foresee any reason to require arch specific definition for init.h
in the near future.
Therefore remove asm/init.h for both x86 and arm (the only definition
is moved in setup.h). With that RISC-V will not need to introduce
an empty header.
Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>
---
cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
xen/arch/arm/arm32/asm-offsets.c | 1 +
xen/arch/arm/arm64/asm-offsets.c | 1 +
xen/arch/arm/include/asm/init.h | 20 --------------------
xen/arch/arm/include/asm/setup.h | 8 ++++++++
xen/arch/x86/acpi/power.c | 1 -
xen/arch/x86/include/asm/init.h | 4 ----
xen/include/xen/init.h | 2 --
7 files changed, 10 insertions(+), 27 deletions(-)
delete mode 100644 xen/arch/arm/include/asm/init.h
delete mode 100644 xen/arch/x86/include/asm/init.h
diff --git a/xen/arch/arm/arm32/asm-offsets.c b/xen/arch/arm/arm32/asm-offsets.c
index 2116ba5b95bf..05c692bb2822 100644
--- a/xen/arch/arm/arm32/asm-offsets.c
+++ b/xen/arch/arm/arm32/asm-offsets.c
@@ -11,6 +11,7 @@
#include <public/xen.h>
#include <asm/current.h>
#include <asm/procinfo.h>
+#include <asm/setup.h>
#define DEFINE(_sym, _val) \
asm volatile ("\n.ascii\"==>#define " #_sym " %0 /* " #_val " */<==\"" \
diff --git a/xen/arch/arm/arm64/asm-offsets.c b/xen/arch/arm/arm64/asm-offsets.c
index 280ddb55bfd4..7226cd9b2eb0 100644
--- a/xen/arch/arm/arm64/asm-offsets.c
+++ b/xen/arch/arm/arm64/asm-offsets.c
@@ -10,6 +10,7 @@
#include <xen/bitops.h>
#include <public/xen.h>
#include <asm/current.h>
+#include <asm/setup.h>
#include <asm/smccc.h>
#define DEFINE(_sym, _val) \
diff --git a/xen/arch/arm/include/asm/init.h b/xen/arch/arm/include/asm/init.h
deleted file mode 100644
index 5ac8cf8797d6..000000000000
--- a/xen/arch/arm/include/asm/init.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _XEN_ASM_INIT_H
-#define _XEN_ASM_INIT_H
-
-struct init_info
-{
- /* Pointer to the stack, used by head.S when entering in C */
- unsigned char *stack;
- /* Logical CPU ID, used by start_secondary */
- unsigned int cpuid;
-};
-
-#endif /* _XEN_ASM_INIT_H */
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index fdbf68aadcaa..a926f30a2be4 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -168,6 +168,14 @@ int map_range_to_domain(const struct dt_device_node *dev,
extern const char __ro_after_init_start[], __ro_after_init_end[];
+struct init_info
+{
+ /* Pointer to the stack, used by head.S when entering in C */
+ unsigned char *stack;
+ /* Logical CPU ID, used by start_secondary */
+ unsigned int cpuid;
+};
+
#endif
/*
* Local variables:
diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index b76f673acb1a..d23335391c67 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -17,7 +17,6 @@
#include <xen/sched.h>
#include <asm/acpi.h>
#include <asm/irq.h>
-#include <asm/init.h>
#include <xen/spinlock.h>
#include <xen/sched.h>
#include <xen/domain.h>
diff --git a/xen/arch/x86/include/asm/init.h b/xen/arch/x86/include/asm/init.h
deleted file mode 100644
index 5295b35e6337..000000000000
--- a/xen/arch/x86/include/asm/init.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef _XEN_ASM_INIT_H
-#define _XEN_ASM_INIT_H
-
-#endif /* _XEN_ASM_INIT_H */
diff --git a/xen/include/xen/init.h b/xen/include/xen/init.h
index 0af0e234ec80..1d7c0216bc80 100644
--- a/xen/include/xen/init.h
+++ b/xen/include/xen/init.h
@@ -1,8 +1,6 @@
#ifndef _LINUX_INIT_H
#define _LINUX_INIT_H
-#include <asm/init.h>
-
/*
* Mark functions and data as being only used at initialization
* or exit time.
--
2.38.1
On 11.01.2023 12:44, Julien Grall wrote: > From: Julien Grall <jgrall@amazon.com> > > Both x86 and (soon) RISC-V version of init.h are empty. On Arm, it contains > a structure that should not be used by any common code. > > The structure init_info is used to store information to setup the CPU > currently being brought-up. setup.h seems to be more suitable even though > the header is getting quite crowded. > > Looking through the history, <asm/init.h> was introduced at the same > time as the ia64 port because for some reasons most of the macros > where duplicated. This was changed in 72c07f413879 and I don't > foresee any reason to require arch specific definition for init.h > in the near future. > > Therefore remove asm/init.h for both x86 and arm (the only definition > is moved in setup.h). With that RISC-V will not need to introduce > an empty header. > > Suggested-by: Jan Beulich <jbeulich@suse.com> > Signed-off-by: Julien Grall <jgrall@amazon.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> On 11 Jan 2023, at 11:44, Julien Grall <julien@xen.org> wrote: > > From: Julien Grall <jgrall@amazon.com> > > Both x86 and (soon) RISC-V version of init.h are empty. On Arm, it contains > a structure that should not be used by any common code. > > The structure init_info is used to store information to setup the CPU > currently being brought-up. setup.h seems to be more suitable even though > the header is getting quite crowded. > > Looking through the history, <asm/init.h> was introduced at the same > time as the ia64 port because for some reasons most of the macros > where duplicated. This was changed in 72c07f413879 and I don't > foresee any reason to require arch specific definition for init.h > in the near future. > > Therefore remove asm/init.h for both x86 and arm (the only definition > is moved in setup.h). With that RISC-V will not need to introduce > an empty header. > > Suggested-by: Jan Beulich <jbeulich@suse.com> > Signed-off-by: Julien Grall <jgrall@amazon.com> > Hi Julien, The arm part looks good to me, I’ve also built x86, arm32 and arm64 and no problems found. Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
On Wed, Jan 11, 2023 at 9:44 PM Julien Grall <julien@xen.org> wrote:
>
> From: Julien Grall <jgrall@amazon.com>
>
> Both x86 and (soon) RISC-V version of init.h are empty. On Arm, it contains
> a structure that should not be used by any common code.
>
> The structure init_info is used to store information to setup the CPU
> currently being brought-up. setup.h seems to be more suitable even though
> the header is getting quite crowded.
>
> Looking through the history, <asm/init.h> was introduced at the same
> time as the ia64 port because for some reasons most of the macros
> where duplicated. This was changed in 72c07f413879 and I don't
> foresee any reason to require arch specific definition for init.h
> in the near future.
>
> Therefore remove asm/init.h for both x86 and arm (the only definition
> is moved in setup.h). With that RISC-V will not need to introduce
> an empty header.
>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
>
> ---
> cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> xen/arch/arm/arm32/asm-offsets.c | 1 +
> xen/arch/arm/arm64/asm-offsets.c | 1 +
> xen/arch/arm/include/asm/init.h | 20 --------------------
> xen/arch/arm/include/asm/setup.h | 8 ++++++++
> xen/arch/x86/acpi/power.c | 1 -
> xen/arch/x86/include/asm/init.h | 4 ----
> xen/include/xen/init.h | 2 --
> 7 files changed, 10 insertions(+), 27 deletions(-)
> delete mode 100644 xen/arch/arm/include/asm/init.h
> delete mode 100644 xen/arch/x86/include/asm/init.h
>
> diff --git a/xen/arch/arm/arm32/asm-offsets.c b/xen/arch/arm/arm32/asm-offsets.c
> index 2116ba5b95bf..05c692bb2822 100644
> --- a/xen/arch/arm/arm32/asm-offsets.c
> +++ b/xen/arch/arm/arm32/asm-offsets.c
> @@ -11,6 +11,7 @@
> #include <public/xen.h>
> #include <asm/current.h>
> #include <asm/procinfo.h>
> +#include <asm/setup.h>
>
> #define DEFINE(_sym, _val) \
> asm volatile ("\n.ascii\"==>#define " #_sym " %0 /* " #_val " */<==\"" \
> diff --git a/xen/arch/arm/arm64/asm-offsets.c b/xen/arch/arm/arm64/asm-offsets.c
> index 280ddb55bfd4..7226cd9b2eb0 100644
> --- a/xen/arch/arm/arm64/asm-offsets.c
> +++ b/xen/arch/arm/arm64/asm-offsets.c
> @@ -10,6 +10,7 @@
> #include <xen/bitops.h>
> #include <public/xen.h>
> #include <asm/current.h>
> +#include <asm/setup.h>
> #include <asm/smccc.h>
>
> #define DEFINE(_sym, _val) \
> diff --git a/xen/arch/arm/include/asm/init.h b/xen/arch/arm/include/asm/init.h
> deleted file mode 100644
> index 5ac8cf8797d6..000000000000
> --- a/xen/arch/arm/include/asm/init.h
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -#ifndef _XEN_ASM_INIT_H
> -#define _XEN_ASM_INIT_H
> -
> -struct init_info
> -{
> - /* Pointer to the stack, used by head.S when entering in C */
> - unsigned char *stack;
> - /* Logical CPU ID, used by start_secondary */
> - unsigned int cpuid;
> -};
> -
> -#endif /* _XEN_ASM_INIT_H */
> -/*
> - * Local variables:
> - * mode: C
> - * c-file-style: "BSD"
> - * c-basic-offset: 4
> - * indent-tabs-mode: nil
> - * End:
> - */
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index fdbf68aadcaa..a926f30a2be4 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -168,6 +168,14 @@ int map_range_to_domain(const struct dt_device_node *dev,
>
> extern const char __ro_after_init_start[], __ro_after_init_end[];
>
> +struct init_info
> +{
> + /* Pointer to the stack, used by head.S when entering in C */
> + unsigned char *stack;
> + /* Logical CPU ID, used by start_secondary */
> + unsigned int cpuid;
> +};
> +
> #endif
> /*
> * Local variables:
> diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
> index b76f673acb1a..d23335391c67 100644
> --- a/xen/arch/x86/acpi/power.c
> +++ b/xen/arch/x86/acpi/power.c
> @@ -17,7 +17,6 @@
> #include <xen/sched.h>
> #include <asm/acpi.h>
> #include <asm/irq.h>
> -#include <asm/init.h>
> #include <xen/spinlock.h>
> #include <xen/sched.h>
> #include <xen/domain.h>
> diff --git a/xen/arch/x86/include/asm/init.h b/xen/arch/x86/include/asm/init.h
> deleted file mode 100644
> index 5295b35e6337..000000000000
> --- a/xen/arch/x86/include/asm/init.h
> +++ /dev/null
> @@ -1,4 +0,0 @@
> -#ifndef _XEN_ASM_INIT_H
> -#define _XEN_ASM_INIT_H
> -
> -#endif /* _XEN_ASM_INIT_H */
> diff --git a/xen/include/xen/init.h b/xen/include/xen/init.h
> index 0af0e234ec80..1d7c0216bc80 100644
> --- a/xen/include/xen/init.h
> +++ b/xen/include/xen/init.h
> @@ -1,8 +1,6 @@
> #ifndef _LINUX_INIT_H
> #define _LINUX_INIT_H
>
> -#include <asm/init.h>
> -
> /*
> * Mark functions and data as being only used at initialization
> * or exit time.
> --
> 2.38.1
>
>
On 11/01/2023 11:44 am, Julien Grall wrote: > From: Julien Grall <jgrall@amazon.com> > > Both x86 and (soon) RISC-V version of init.h are empty. On Arm, it contains > a structure that should not be used by any common code. > > The structure init_info is used to store information to setup the CPU > currently being brought-up. setup.h seems to be more suitable even though > the header is getting quite crowded. > > Looking through the history, <asm/init.h> was introduced at the same > time as the ia64 port because for some reasons most of the macros > where duplicated. This was changed in 72c07f413879 and I don't > foresee any reason to require arch specific definition for init.h > in the near future. > > Therefore remove asm/init.h for both x86 and arm (the only definition > is moved in setup.h). With that RISC-V will not need to introduce > an empty header. > > Suggested-by: Jan Beulich <jbeulich@suse.com> > Signed-off-by: Julien Grall <jgrall@amazon.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
© 2016 - 2026 Red Hat, Inc.