Message ID | 20230905183604.568996-1-hbathini@linux.ibm.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | [v2,1/3] powerpc/fadump: make is_fadump_active() visible for exporting vmcore | expand |
On 09/06/23 at 12:06am, Hari Bathini wrote: > Include asm/fadump.h in asm/kexec.h to make it visible while exporting > vmcore. Also, update is_fadump_active() to return boolean instead of > integer for better readability. The change will be used in the next > patch to ensure vmcore is exported when fadump is active. > > Signed-off-by: Hari Bathini <hbathini@linux.ibm.com> Thanks, Hari. The whole series looks good to me. Acked-by: Baoquan He <bhe@redhat.com> Since it's a power specific change, should be picked into powerpc tree? Thanks Baoquan > --- > > Changes in v2: > * New patch based on Baoquan's suggestion to use is_fadump_active() > instead of introducing new function is_crashdump_kernel(). > > > arch/powerpc/include/asm/fadump.h | 4 ++-- > arch/powerpc/include/asm/kexec.h | 8 ++++++-- > arch/powerpc/kernel/fadump.c | 4 ++-- > 3 files changed, 10 insertions(+), 6 deletions(-) > > diff --git a/arch/powerpc/include/asm/fadump.h b/arch/powerpc/include/asm/fadump.h > index 526a6a647312..27b74a7e2162 100644 > --- a/arch/powerpc/include/asm/fadump.h > +++ b/arch/powerpc/include/asm/fadump.h > @@ -15,13 +15,13 @@ extern int crashing_cpu; > > extern int is_fadump_memory_area(u64 addr, ulong size); > extern int setup_fadump(void); > -extern int is_fadump_active(void); > +extern bool is_fadump_active(void); > extern int should_fadump_crash(void); > extern void crash_fadump(struct pt_regs *, const char *); > extern void fadump_cleanup(void); > > #else /* CONFIG_FA_DUMP */ > -static inline int is_fadump_active(void) { return 0; } > +static inline bool is_fadump_active(void) { return false; } > static inline int should_fadump_crash(void) { return 0; } > static inline void crash_fadump(struct pt_regs *regs, const char *str) { } > static inline void fadump_cleanup(void) { } > diff --git a/arch/powerpc/include/asm/kexec.h b/arch/powerpc/include/asm/kexec.h > index a1ddba01e7d1..b760ef459234 100644 > --- a/arch/powerpc/include/asm/kexec.h > +++ b/arch/powerpc/include/asm/kexec.h > @@ -51,6 +51,7 @@ > > #ifndef __ASSEMBLY__ > #include <asm/reg.h> > +#include <asm/fadump.h> > > typedef void (*crash_shutdown_t)(void); > > @@ -99,10 +100,13 @@ void relocate_new_kernel(unsigned long indirection_page, unsigned long reboot_co > > void kexec_copy_flush(struct kimage *image); > > -#if defined(CONFIG_CRASH_DUMP) && defined(CONFIG_PPC_RTAS) > +#if defined(CONFIG_CRASH_DUMP) > +#define is_fadump_active is_fadump_active > +#if defined(CONFIG_PPC_RTAS) > void crash_free_reserved_phys_range(unsigned long begin, unsigned long end); > #define crash_free_reserved_phys_range crash_free_reserved_phys_range > -#endif > +#endif /* CONFIG_PPC_RTAS */ > +#endif /* CONFIG_CRASH_DUMP */ > > #ifdef CONFIG_KEXEC_FILE > extern const struct kexec_file_ops kexec_elf64_ops; > diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c > index 3ff2da7b120b..5682a65e8326 100644 > --- a/arch/powerpc/kernel/fadump.c > +++ b/arch/powerpc/kernel/fadump.c > @@ -187,9 +187,9 @@ int should_fadump_crash(void) > return 1; > } > > -int is_fadump_active(void) > +bool is_fadump_active(void) > { > - return fw_dump.dump_active; > + return !!fw_dump.dump_active; > } > > /* > -- > 2.41.0 >
Thanks, Baoquan. On 07/09/23 11:12 am, Baoquan He wrote: > On 09/06/23 at 12:06am, Hari Bathini wrote: >> Include asm/fadump.h in asm/kexec.h to make it visible while exporting >> vmcore. Also, update is_fadump_active() to return boolean instead of >> integer for better readability. The change will be used in the next >> patch to ensure vmcore is exported when fadump is active. >> >> Signed-off-by: Hari Bathini <hbathini@linux.ibm.com> > > Thanks, Hari. The whole series looks good to me. > > Acked-by: Baoquan He <bhe@redhat.com> > > Since it's a power specific change, should be picked into powerpc tree? Michael, would you mind taking the series via powerpc tree.. Thanks Hari >> --- >> >> Changes in v2: >> * New patch based on Baoquan's suggestion to use is_fadump_active() >> instead of introducing new function is_crashdump_kernel(). >> >> >> arch/powerpc/include/asm/fadump.h | 4 ++-- >> arch/powerpc/include/asm/kexec.h | 8 ++++++-- >> arch/powerpc/kernel/fadump.c | 4 ++-- >> 3 files changed, 10 insertions(+), 6 deletions(-) >> >> diff --git a/arch/powerpc/include/asm/fadump.h b/arch/powerpc/include/asm/fadump.h >> index 526a6a647312..27b74a7e2162 100644 >> --- a/arch/powerpc/include/asm/fadump.h >> +++ b/arch/powerpc/include/asm/fadump.h >> @@ -15,13 +15,13 @@ extern int crashing_cpu; >> >> extern int is_fadump_memory_area(u64 addr, ulong size); >> extern int setup_fadump(void); >> -extern int is_fadump_active(void); >> +extern bool is_fadump_active(void); >> extern int should_fadump_crash(void); >> extern void crash_fadump(struct pt_regs *, const char *); >> extern void fadump_cleanup(void); >> >> #else /* CONFIG_FA_DUMP */ >> -static inline int is_fadump_active(void) { return 0; } >> +static inline bool is_fadump_active(void) { return false; } >> static inline int should_fadump_crash(void) { return 0; } >> static inline void crash_fadump(struct pt_regs *regs, const char *str) { } >> static inline void fadump_cleanup(void) { } >> diff --git a/arch/powerpc/include/asm/kexec.h b/arch/powerpc/include/asm/kexec.h >> index a1ddba01e7d1..b760ef459234 100644 >> --- a/arch/powerpc/include/asm/kexec.h >> +++ b/arch/powerpc/include/asm/kexec.h >> @@ -51,6 +51,7 @@ >> >> #ifndef __ASSEMBLY__ >> #include <asm/reg.h> >> +#include <asm/fadump.h> >> >> typedef void (*crash_shutdown_t)(void); >> >> @@ -99,10 +100,13 @@ void relocate_new_kernel(unsigned long indirection_page, unsigned long reboot_co >> >> void kexec_copy_flush(struct kimage *image); >> >> -#if defined(CONFIG_CRASH_DUMP) && defined(CONFIG_PPC_RTAS) >> +#if defined(CONFIG_CRASH_DUMP) >> +#define is_fadump_active is_fadump_active >> +#if defined(CONFIG_PPC_RTAS) >> void crash_free_reserved_phys_range(unsigned long begin, unsigned long end); >> #define crash_free_reserved_phys_range crash_free_reserved_phys_range >> -#endif >> +#endif /* CONFIG_PPC_RTAS */ >> +#endif /* CONFIG_CRASH_DUMP */ >> >> #ifdef CONFIG_KEXEC_FILE >> extern const struct kexec_file_ops kexec_elf64_ops; >> diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c >> index 3ff2da7b120b..5682a65e8326 100644 >> --- a/arch/powerpc/kernel/fadump.c >> +++ b/arch/powerpc/kernel/fadump.c >> @@ -187,9 +187,9 @@ int should_fadump_crash(void) >> return 1; >> } >> >> -int is_fadump_active(void) >> +bool is_fadump_active(void) >> { >> - return fw_dump.dump_active; >> + return !!fw_dump.dump_active; >> } >> >> /* >> -- >> 2.41.0 >> >
diff --git a/arch/powerpc/include/asm/fadump.h b/arch/powerpc/include/asm/fadump.h index 526a6a647312..27b74a7e2162 100644 --- a/arch/powerpc/include/asm/fadump.h +++ b/arch/powerpc/include/asm/fadump.h @@ -15,13 +15,13 @@ extern int crashing_cpu; extern int is_fadump_memory_area(u64 addr, ulong size); extern int setup_fadump(void); -extern int is_fadump_active(void); +extern bool is_fadump_active(void); extern int should_fadump_crash(void); extern void crash_fadump(struct pt_regs *, const char *); extern void fadump_cleanup(void); #else /* CONFIG_FA_DUMP */ -static inline int is_fadump_active(void) { return 0; } +static inline bool is_fadump_active(void) { return false; } static inline int should_fadump_crash(void) { return 0; } static inline void crash_fadump(struct pt_regs *regs, const char *str) { } static inline void fadump_cleanup(void) { } diff --git a/arch/powerpc/include/asm/kexec.h b/arch/powerpc/include/asm/kexec.h index a1ddba01e7d1..b760ef459234 100644 --- a/arch/powerpc/include/asm/kexec.h +++ b/arch/powerpc/include/asm/kexec.h @@ -51,6 +51,7 @@ #ifndef __ASSEMBLY__ #include <asm/reg.h> +#include <asm/fadump.h> typedef void (*crash_shutdown_t)(void); @@ -99,10 +100,13 @@ void relocate_new_kernel(unsigned long indirection_page, unsigned long reboot_co void kexec_copy_flush(struct kimage *image); -#if defined(CONFIG_CRASH_DUMP) && defined(CONFIG_PPC_RTAS) +#if defined(CONFIG_CRASH_DUMP) +#define is_fadump_active is_fadump_active +#if defined(CONFIG_PPC_RTAS) void crash_free_reserved_phys_range(unsigned long begin, unsigned long end); #define crash_free_reserved_phys_range crash_free_reserved_phys_range -#endif +#endif /* CONFIG_PPC_RTAS */ +#endif /* CONFIG_CRASH_DUMP */ #ifdef CONFIG_KEXEC_FILE extern const struct kexec_file_ops kexec_elf64_ops; diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c index 3ff2da7b120b..5682a65e8326 100644 --- a/arch/powerpc/kernel/fadump.c +++ b/arch/powerpc/kernel/fadump.c @@ -187,9 +187,9 @@ int should_fadump_crash(void) return 1; } -int is_fadump_active(void) +bool is_fadump_active(void) { - return fw_dump.dump_active; + return !!fw_dump.dump_active; } /*
Include asm/fadump.h in asm/kexec.h to make it visible while exporting vmcore. Also, update is_fadump_active() to return boolean instead of integer for better readability. The change will be used in the next patch to ensure vmcore is exported when fadump is active. Signed-off-by: Hari Bathini <hbathini@linux.ibm.com> --- Changes in v2: * New patch based on Baoquan's suggestion to use is_fadump_active() instead of introducing new function is_crashdump_kernel(). arch/powerpc/include/asm/fadump.h | 4 ++-- arch/powerpc/include/asm/kexec.h | 8 ++++++-- arch/powerpc/kernel/fadump.c | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-)