[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v6 14/44] x86/boot: introduce boot module interator
On 2024-10-17 13:02, Daniel P. Smith wrote: Provide an iterator to go through boot module array searching based on type. Signed-off-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx> --- Changes since v5: - documented help next_boot_module_index - switch to unsigned int for next_boot_module_index - changes identified that BOOTMOD_XEN was not supported, so added support --- xen/arch/x86/include/asm/bootinfo.h | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h index 5862054b8cef..3010e6f4af9c 100644 --- a/xen/arch/x86/include/asm/bootinfo.h +++ b/xen/arch/x86/include/asm/bootinfo.h @@ -62,8 +62,35 @@ struct boot_info { struct boot_module mods[MAX_NR_BOOTMODS + 1]; };-#endif /* __XEN_X86_BOOTINFO_H__ */+/* + * next_boot_module_index: + * Finds the next boot module of type t, starting at array index start. + * + * Returns: + * Success - index in boot_module array + * Failure - a value greater than MAX_NR_BOOTMODS + */ +static inline unsigned int __init next_boot_module_index( + const struct boot_info *bi, enum bootmod_type t, unsigned int start) +{ + unsigned int i; + + if ( t == BOOTMOD_XEN ) + return MAX_NR_BOOTMODS; Your earlier patch "x86/boot: convert mod refs to boot_module mod" put xen at bi->nr_modules. You'll want these to match. Regards, Jason + for ( i = start; i < bi->nr_modules; i++ )+ { + if ( bi->mods[i].type == t ) + return i; + } + + return MAX_NR_BOOTMODS + 1; +} + +#define first_boot_module_index(bi, t) \ + next_boot_module_index(bi, t, 0) + +#endif /* __XEN_X86_BOOTINFO_H__ */ /* * Local variables: * mode: C
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |