|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 08/10] x86, arm, riscv: add per-arch bootinfo headers
On Sat, 1 Jul 2023, Christopher Clark wrote:
> Changes to ensure that inclusion of <xen/bootinfo.h> succeeds in each
> of the main archtecture builds and in the 32-bit early x86 boot build.
>
> The <xen/bootinfo.h> header contains structures that will be used in efi
> logic prior to the main start of Xen, so it needs to be suitable for
> inclusion in Arm source files.
>
> The same header will also be included in early x86 boot logic, where
> asm/* headers are not reachable, and so they cannot be transitively
> included, so a ifdef condition is needed to prevent an attempt to
> include <asm/bootinfo.h> from within <xen/bootinfo.h> in that case.
>
> The early x86 boot logic can then directly include <asm/bootinfo.h> via
> a specified directory path where it can be included successfully.
>
> Signed-off-by: Christopher Clark <christopher.w.clark@xxxxxxxxx>
> Signed-off-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
I think this is fine.
> ---
> New for v2 series.
>
> xen/arch/arm/include/asm/bootinfo.h | 20 ++++++++++++++++++++
> xen/arch/riscv/include/asm/bootinfo.h | 20 ++++++++++++++++++++
> xen/include/xen/bootinfo.h | 7 ++-----
> 3 files changed, 42 insertions(+), 5 deletions(-)
> create mode 100644 xen/arch/arm/include/asm/bootinfo.h
> create mode 100644 xen/arch/riscv/include/asm/bootinfo.h
>
> diff --git a/xen/arch/arm/include/asm/bootinfo.h
> b/xen/arch/arm/include/asm/bootinfo.h
> new file mode 100644
> index 0000000000..5316c87a3d
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/bootinfo.h
> @@ -0,0 +1,20 @@
> +#ifndef __ARCH_ARM_BOOTINFO_H__
> +#define __ARCH_ARM_BOOTINFO_H__
> +
> +struct __packed arch_bootmodule { };
> +DEFINE_STRUCT_PTR_TYPE(arch_bootmodule);
> +
> +struct __packed arch_boot_info { };
> +DEFINE_STRUCT_PTR_TYPE(arch_boot_info);
> +
> +#endif
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/riscv/include/asm/bootinfo.h
> b/xen/arch/riscv/include/asm/bootinfo.h
> new file mode 100644
> index 0000000000..5316c87a3d
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/bootinfo.h
> @@ -0,0 +1,20 @@
> +#ifndef __ARCH_ARM_BOOTINFO_H__
> +#define __ARCH_ARM_BOOTINFO_H__
> +
> +struct __packed arch_bootmodule { };
> +DEFINE_STRUCT_PTR_TYPE(arch_bootmodule);
> +
> +struct __packed arch_boot_info { };
> +DEFINE_STRUCT_PTR_TYPE(arch_boot_info);
> +
> +#endif
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/include/xen/bootinfo.h b/xen/include/xen/bootinfo.h
> index 8389da4f72..bf5586a76b 100644
> --- a/xen/include/xen/bootinfo.h
> +++ b/xen/include/xen/bootinfo.h
> @@ -5,11 +5,8 @@
> #include <xen/compiler.h>
> #include <xen/mm-frame.h>
>
> -#ifdef CONFIG_X86
> -#include <asm/bootinfo.h>
> -#else
> - struct arch_bootmodule { };
> - struct arch_boot_info { };
> +#if defined CONFIG_X86 || CONFIG_ARM || CONFIG_RISCV
> +# include <asm/bootinfo.h>
> #endif
>
> /* Boot module binary type / purpose */
> --
> 2.25.1
>
>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |