Messages in this thread | | | Date | Mon, 8 Aug 2022 10:18:42 -0500 | Subject | Re: [PATCH v10 1/8] crash: introduce arch/*/asm/crash.h | From | Eric DeVolder <> |
| |
On 8/7/22 22:25, Baoquan He wrote: > Hi Eric, > > On 07/21/22 at 02:17pm, Eric DeVolder wrote: >> The use of __weak is being eliminated within kexec sources. >> The technique uses macros mapped onto inline functions in >> order to replace __weak. >> >> This patchset was using __weak and so in order to replace >> __weak, this patch introduces arch/*/asm/crash.h, patterned >> after how kexec is moving away from __weak and to the macro >> definitions. > > Are you going to replace __weak in kexec of arll ARCHes? I don't see > your point why all these empty header files are introduced. Wondering > what's impacted if not adding these empty files?
Hi Baoquan, In this patchset, to file include/linux/crash_core.h I added the line #include <asm/crash.h>. I patterned this after how include/linux/kexec.h does #include <asm/kexec.h>.
For kexec, the items that were __weak are refactored into corresponding asm/kexec.h.
I followed suit for crash __weak items. File crash_core.h now #include's asm/crash.h and so that file needs to be present for every arch, else build failures ensue. It turns out x86_64 already had this file.
At this time, I was not planning on converting the other arch's __weak to asm/crash.h, but at least with these empty files, the infrastructure is in place for when that does occur.
Let me know if you think I need to do something different/more here. Thanks! eric
> >> >> No functionality changed, yet. >> >> Signed-off-by: Eric DeVolder <eric.devolder@oracle.com> >> --- >> arch/arm/include/asm/crash.h | 5 +++++ >> arch/arm64/include/asm/crash.h | 5 +++++ >> arch/ia64/include/asm/crash.h | 5 +++++ >> arch/m68k/include/asm/crash.h | 5 +++++ >> arch/mips/include/asm/crash.h | 5 +++++ >> arch/parisc/include/asm/crash.h | 5 +++++ >> arch/powerpc/include/asm/crash.h | 5 +++++ >> arch/riscv/include/asm/crash.h | 5 +++++ >> arch/s390/include/asm/crash.h | 5 +++++ >> arch/sh/include/asm/crash.h | 5 +++++ >> include/linux/crash_core.h | 2 ++ >> 11 files changed, 52 insertions(+) >> create mode 100644 arch/arm/include/asm/crash.h >> create mode 100644 arch/arm64/include/asm/crash.h >> create mode 100644 arch/ia64/include/asm/crash.h >> create mode 100644 arch/m68k/include/asm/crash.h >> create mode 100644 arch/mips/include/asm/crash.h >> create mode 100644 arch/parisc/include/asm/crash.h >> create mode 100644 arch/powerpc/include/asm/crash.h >> create mode 100644 arch/riscv/include/asm/crash.h >> create mode 100644 arch/s390/include/asm/crash.h >> create mode 100644 arch/sh/include/asm/crash.h >> >> diff --git a/arch/arm/include/asm/crash.h b/arch/arm/include/asm/crash.h >> new file mode 100644 >> index 000000000000..385646957d60 >> --- /dev/null >> +++ b/arch/arm/include/asm/crash.h >> @@ -0,0 +1,5 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _ASM_ARM_CRASH_H >> +#define _ASM_ARM_CRASH_H >> + >> +#endif /* _ASM_ARM_CRASH_H */ >> diff --git a/arch/arm64/include/asm/crash.h b/arch/arm64/include/asm/crash.h >> new file mode 100644 >> index 000000000000..ec8870c1ea49 >> --- /dev/null >> +++ b/arch/arm64/include/asm/crash.h >> @@ -0,0 +1,5 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _ASM_ARM64_CRASH_H >> +#define _ASM_ARM64_CRASH_H >> + >> +#endif /* _ASM_ARM64_CRASH_H */ >> diff --git a/arch/ia64/include/asm/crash.h b/arch/ia64/include/asm/crash.h >> new file mode 100644 >> index 000000000000..02a457cccda3 >> --- /dev/null >> +++ b/arch/ia64/include/asm/crash.h >> @@ -0,0 +1,5 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _ASM_IA64_CRASH_H >> +#define _ASM_IA64_CRASH_H >> + >> +#endif /* _ASM_IA64_CRASH_H */ >> diff --git a/arch/m68k/include/asm/crash.h b/arch/m68k/include/asm/crash.h >> new file mode 100644 >> index 000000000000..ba6e412a1267 >> --- /dev/null >> +++ b/arch/m68k/include/asm/crash.h >> @@ -0,0 +1,5 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _ASM_M68K_CRASH_H >> +#define _ASM_M68K_CRASH_H >> + >> +#endif /* _ASM_M68K_CRASH_H */ >> diff --git a/arch/mips/include/asm/crash.h b/arch/mips/include/asm/crash.h >> new file mode 100644 >> index 000000000000..35872522c574 >> --- /dev/null >> +++ b/arch/mips/include/asm/crash.h >> @@ -0,0 +1,5 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _ASM_MIPS_CRASH_H >> +#define _ASM_MIPS_CRASH_H >> + >> +#endif /* _ASM_MIPS_CRASH_H */ >> diff --git a/arch/parisc/include/asm/crash.h b/arch/parisc/include/asm/crash.h >> new file mode 100644 >> index 000000000000..96833b727179 >> --- /dev/null >> +++ b/arch/parisc/include/asm/crash.h >> @@ -0,0 +1,5 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _ASM_PARISC_CRASH_H >> +#define _ASM_PARISC_CRASH_H >> + >> +#endif /* _ASM_PARISC_CRASH_H */ >> diff --git a/arch/powerpc/include/asm/crash.h b/arch/powerpc/include/asm/crash.h >> new file mode 100644 >> index 000000000000..40ce71e56ac1 >> --- /dev/null >> +++ b/arch/powerpc/include/asm/crash.h >> @@ -0,0 +1,5 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _ASM_POWERPC_CRASH_H >> +#define _ASM_POWERPC_CRASH_H >> + >> +#endif /* _ASM_POWERPC_CRASH_H */ >> diff --git a/arch/riscv/include/asm/crash.h b/arch/riscv/include/asm/crash.h >> new file mode 100644 >> index 000000000000..24f3aea99707 >> --- /dev/null >> +++ b/arch/riscv/include/asm/crash.h >> @@ -0,0 +1,5 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _ASM_RISCV_CRASH_H >> +#define _ASM_RISCV_CRASH_H >> + >> +#endif /* _ASM_RISCV_CRASH_H */ >> diff --git a/arch/s390/include/asm/crash.h b/arch/s390/include/asm/crash.h >> new file mode 100644 >> index 000000000000..0db16ad4c75f >> --- /dev/null >> +++ b/arch/s390/include/asm/crash.h >> @@ -0,0 +1,5 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _ASM_S390_CRASH_H >> +#define _ASM_S390_CRASH_H >> + >> +#endif /* _ASM_S390_CRASH_H */ >> diff --git a/arch/sh/include/asm/crash.h b/arch/sh/include/asm/crash.h >> new file mode 100644 >> index 000000000000..f54e12f88cae >> --- /dev/null >> +++ b/arch/sh/include/asm/crash.h >> @@ -0,0 +1,5 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _ASM_SH_CRASH_H >> +#define _ASM_SH_CRASH_H >> + >> +#endif /* _ASM_SH_CRASH_H */ >> diff --git a/include/linux/crash_core.h b/include/linux/crash_core.h >> index de62a722431e..cb0f1916fbf5 100644 >> --- a/include/linux/crash_core.h >> +++ b/include/linux/crash_core.h >> @@ -6,6 +6,8 @@ >> #include <linux/elfcore.h> >> #include <linux/elf.h> >> >> +#include <asm/crash.h> >> + >> #define CRASH_CORE_NOTE_NAME "CORE" >> #define CRASH_CORE_NOTE_HEAD_BYTES ALIGN(sizeof(struct elf_note), 4) >> #define CRASH_CORE_NOTE_NAME_BYTES ALIGN(sizeof(CRASH_CORE_NOTE_NAME), 4) >> -- >> 2.31.1 >> >
| |