Re: [PATCH v10 1/8] crash: introduce arch/*/asm/crash.h

2022-08-16 Thread Eric DeVolder




On 8/12/22 19:24, Baoquan He wrote:

On 08/12/22 at 04:23pm, Eric DeVolder wrote:



On 8/12/22 04:46, Baoquan He wrote:

On 08/08/22 at 10:18am, Eric DeVolder wrote:



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 
.
I patterned this after how include/linux/kexec.h does #include .


I am sorry, Eric, it looks not so good. I understand you want to pattern
asm/kexe.h, but we need consider reality. Introducing a dozen of empty
header file and not being able to tell when they will be filled doesn't
make sense.

Includig  where needed is much simpler. I doubt if your way
can pass other reviewers' line. Can you reconsider?


If I include  where needed, which is kernel/crash_core.c, then
the other archs will fail build if that file doesn't exist. A couple of
options, which do you think is better to pursue?

- use asm/kexec.h instead of asm/crash.h; it appears all the architectures
already have this file in place

- go ahead and put the appropriate crash macros/inline functions into each
arch asm/crash.h so that the files are not just empty, and leave the use of
asm/crash.h


I think we can do this in two steps.

Firstly, make do with asm/kexec.h since all other ARCHes put crash related stuff
into asm/kexec.h, except of x86.


Baoquan,
I've made the changes to utilizes asm/kexec.h. For x86, I did have to put what I
previously had in asm/crash.h into asm/kexec.h.



Secondly, clean up to put those crash marco/inline functions into
asm/crash.h.


Yes, in looking at kexec.h, there is alot of crash items in there that would make for a good cleanup 
pass...




The 2nd step can be done in a independent patchset. What do you think?



Yes!
eric

___
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec


Re: [PATCH v10 1/8] crash: introduce arch/*/asm/crash.h

2022-08-12 Thread Baoquan He
On 08/12/22 at 04:23pm, Eric DeVolder wrote:
> 
> 
> On 8/12/22 04:46, Baoquan He wrote:
> > On 08/08/22 at 10:18am, Eric DeVolder wrote:
> > > 
> > > 
> > > 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 .
> > > I patterned this after how include/linux/kexec.h does #include 
> > > .
> > 
> > I am sorry, Eric, it looks not so good. I understand you want to pattern
> > asm/kexe.h, but we need consider reality. Introducing a dozen of empty
> > header file and not being able to tell when they will be filled doesn't
> > make sense.
> > 
> > Includig  where needed is much simpler. I doubt if your way
> > can pass other reviewers' line. Can you reconsider?
> 
> If I include  where needed, which is kernel/crash_core.c, then
> the other archs will fail build if that file doesn't exist. A couple of
> options, which do you think is better to pursue?
> 
> - use asm/kexec.h instead of asm/crash.h; it appears all the architectures
> already have this file in place
> 
> - go ahead and put the appropriate crash macros/inline functions into each
> arch asm/crash.h so that the files are not just empty, and leave the use of
> asm/crash.h

I think we can do this in two steps.

Firstly, make do with asm/kexec.h since all other ARCHes put crash related stuff
into asm/kexec.h, except of x86. 

Secondly, clean up to put those crash marco/inline functions into
asm/crash.h.

The 2nd step can be done in a independent patchset. What do you think?


___
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec


Re: [PATCH v10 1/8] crash: introduce arch/*/asm/crash.h

2022-08-12 Thread Eric DeVolder




On 8/12/22 04:46, Baoquan He wrote:

On 08/08/22 at 10:18am, Eric DeVolder wrote:



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 
.
I patterned this after how include/linux/kexec.h does #include .


I am sorry, Eric, it looks not so good. I understand you want to pattern
asm/kexe.h, but we need consider reality. Introducing a dozen of empty
header file and not being able to tell when they will be filled doesn't
make sense.

Includig  where needed is much simpler. I doubt if your way
can pass other reviewers' line. Can you reconsider?


If I include  where needed, which is kernel/crash_core.c, then the other archs will 
fail build if that file doesn't exist. A couple of options, which do you think is better to pursue?


- use asm/kexec.h instead of asm/crash.h; it appears all the architectures already have this file in 
place


- go ahead and put the appropriate crash macros/inline functions into each arch asm/crash.h so that 
the files are not just empty, and leave the use of asm/crash.h


Or perhaps you see a better alternative?

Thanks!
eric




diff --git a/kernel/crash_core.c b/kernel/crash_core.c
index 77f5f3591760..b0577bdcc491 100644
--- a/kernel/crash_core.c
+++ b/kernel/crash_core.c
@@ -15,6 +15,7 @@
  
  #include 

  #include 
+#include 
  
  #include 




___
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec


Re: [PATCH v10 1/8] crash: introduce arch/*/asm/crash.h

2022-08-12 Thread Baoquan He
On 08/08/22 at 10:18am, Eric DeVolder wrote:
> 
> 
> 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 .
> I patterned this after how include/linux/kexec.h does #include .

I am sorry, Eric, it looks not so good. I understand you want to pattern
asm/kexe.h, but we need consider reality. Introducing a dozen of empty
header file and not being able to tell when they will be filled doesn't
make sense.

Includig  where needed is much simpler. I doubt if your way
can pass other reviewers' line. Can you reconsider?

diff --git a/kernel/crash_core.c b/kernel/crash_core.c
index 77f5f3591760..b0577bdcc491 100644
--- a/kernel/crash_core.c
+++ b/kernel/crash_core.c
@@ -15,6 +15,7 @@
 
 #include 
 #include 
+#include 
 
 #include 


___
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec


Re: [PATCH v10 1/8] crash: introduce arch/*/asm/crash.h

2022-08-08 Thread Rob Herring
On Mon, Aug 8, 2022 at 9:19 AM Eric DeVolder  wrote:
>
>
>
> 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 .
> I patterned this after how include/linux/kexec.h does #include .
>
> 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.

asm-generic is the right location for default asm headers. I'm not
really sure you even need them as you mainly seem to be using the
header to enable a feature. That's normally done by the arch selecting
a kconfig option. But as Borislav previously pointed out, you don't
need a new option here if the arch must provide support when kexec and
hotplug are enabled/supported.

Rob

___
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec


Re: [PATCH v10 1/8] crash: introduce arch/*/asm/crash.h

2022-08-08 Thread 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 
.
I patterned this after how include/linux/kexec.h does #include .

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 
---
  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 ..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 ..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 ..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 ..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 ..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 ..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 ..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 ..24f3aea99707
--- /dev/null
+++ b/arch/riscv/include/asm/crash.h
@@ -0,0 +1,5 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef

Re: [PATCH v10 1/8] crash: introduce arch/*/asm/crash.h

2022-08-07 Thread Baoquan He
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?

> 
> No functionality changed, yet.
> 
> Signed-off-by: Eric DeVolder 
> ---
>  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 ..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 ..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 ..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 ..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 ..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 ..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 ..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 ..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 ..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 00

[PATCH v10 1/8] crash: introduce arch/*/asm/crash.h

2022-07-21 Thread Eric DeVolder
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.

No functionality changed, yet.

Signed-off-by: Eric DeVolder 
---
 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 ..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 ..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 ..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 ..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 ..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 ..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 ..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 ..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 ..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 ..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 
 #include 
 
+#include 
+
 #define CRASH_CORE_NOTE_NAME  "CORE"
 #define CRASH_CORE_NOTE_HEAD_BYTES ALIGN(sizeof(st