Message ID | 20220809091558.14379-2-alexandru.elisei@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm/arm64: Rework cache maintenance at boot | expand |
On 09/08/2022 10:15, Alexandru Elisei wrote: > There are 25 header files today (found with grep -r "#ifndef __ASSEMBLY__) > with functionality relies on the __ASSEMBLY__ prepocessor constant being > correctly defined to work correctly. So far, kvm-unit-tests has relied on > the assembly files to define the constant before including any header > files which depend on it. > > Let's make sure that nobody gets this wrong and define it as a compiler > constant when compiling assembly files. __ASSEMBLY__ is now defined for all > .S files, even those that didn't set it explicitely before. > This is a great idea. Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Thanks, Nikos > Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com> > --- > Makefile | 5 ++++- > arm/cstart.S | 1 - > arm/cstart64.S | 1 - > powerpc/cstart64.S | 1 - > 4 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/Makefile b/Makefile > index 6ed5deaccb41..42c61aa45d50 100644 > --- a/Makefile > +++ b/Makefile > @@ -94,6 +94,9 @@ CFLAGS += $(wmissing_parameter_type) > CFLAGS += $(wold_style_declaration) > CFLAGS += -Woverride-init -Wmissing-prototypes -Wstrict-prototypes > > +AFLAGS = $(CFLAGS) > +AFLAGS += -D__ASSEMBLY__ > + > autodepend-flags = -MMD -MF $(dir $*).$(notdir $*).d > > LDFLAGS += $(CFLAGS) > @@ -117,7 +120,7 @@ directories: > @mkdir -p $(OBJDIRS) > > %.o: %.S > - $(CC) $(CFLAGS) -c -nostdlib -o $@ $< > + $(CC) $(AFLAGS) -c -nostdlib -o $@ $< > > -include */.*.d */*/.*.d > > diff --git a/arm/cstart.S b/arm/cstart.S > index 7036e67fc0d8..39260e0fa470 100644 > --- a/arm/cstart.S > +++ b/arm/cstart.S > @@ -5,7 +5,6 @@ > * > * This work is licensed under the terms of the GNU LGPL, version 2. > */ > -#define __ASSEMBLY__ > #include <auxinfo.h> > #include <asm/assembler.h> > #include <asm/thread_info.h> > diff --git a/arm/cstart64.S b/arm/cstart64.S > index e4ab7d06251e..d62360cf3859 100644 > --- a/arm/cstart64.S > +++ b/arm/cstart64.S > @@ -5,7 +5,6 @@ > * > * This work is licensed under the terms of the GNU GPL, version 2. > */ > -#define __ASSEMBLY__ > #include <auxinfo.h> > #include <asm/asm-offsets.h> > #include <asm/assembler.h> > diff --git a/powerpc/cstart64.S b/powerpc/cstart64.S > index 972851f9ed65..1a823385fd0f 100644 > --- a/powerpc/cstart64.S > +++ b/powerpc/cstart64.S > @@ -5,7 +5,6 @@ > * > * This work is licensed under the terms of the GNU LGPL, version 2. > */ > -#define __ASSEMBLY__ > #include <asm/hcall.h> > #include <asm/ppc_asm.h> > #include <asm/rtas.h>
On Tue, Aug 09, 2022 at 10:15:40AM +0100, Alexandru Elisei wrote: > There are 25 header files today (found with grep -r "#ifndef __ASSEMBLY__) > with functionality relies on the __ASSEMBLY__ prepocessor constant being > correctly defined to work correctly. So far, kvm-unit-tests has relied on > the assembly files to define the constant before including any header > files which depend on it. > > Let's make sure that nobody gets this wrong and define it as a compiler > constant when compiling assembly files. __ASSEMBLY__ is now defined for all > .S files, even those that didn't set it explicitely before. > > Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com> > --- > Makefile | 5 ++++- > arm/cstart.S | 1 - > arm/cstart64.S | 1 - > powerpc/cstart64.S | 1 - > 4 files changed, 4 insertions(+), 4 deletions(-) > Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
diff --git a/Makefile b/Makefile index 6ed5deaccb41..42c61aa45d50 100644 --- a/Makefile +++ b/Makefile @@ -94,6 +94,9 @@ CFLAGS += $(wmissing_parameter_type) CFLAGS += $(wold_style_declaration) CFLAGS += -Woverride-init -Wmissing-prototypes -Wstrict-prototypes +AFLAGS = $(CFLAGS) +AFLAGS += -D__ASSEMBLY__ + autodepend-flags = -MMD -MF $(dir $*).$(notdir $*).d LDFLAGS += $(CFLAGS) @@ -117,7 +120,7 @@ directories: @mkdir -p $(OBJDIRS) %.o: %.S - $(CC) $(CFLAGS) -c -nostdlib -o $@ $< + $(CC) $(AFLAGS) -c -nostdlib -o $@ $< -include */.*.d */*/.*.d diff --git a/arm/cstart.S b/arm/cstart.S index 7036e67fc0d8..39260e0fa470 100644 --- a/arm/cstart.S +++ b/arm/cstart.S @@ -5,7 +5,6 @@ * * This work is licensed under the terms of the GNU LGPL, version 2. */ -#define __ASSEMBLY__ #include <auxinfo.h> #include <asm/assembler.h> #include <asm/thread_info.h> diff --git a/arm/cstart64.S b/arm/cstart64.S index e4ab7d06251e..d62360cf3859 100644 --- a/arm/cstart64.S +++ b/arm/cstart64.S @@ -5,7 +5,6 @@ * * This work is licensed under the terms of the GNU GPL, version 2. */ -#define __ASSEMBLY__ #include <auxinfo.h> #include <asm/asm-offsets.h> #include <asm/assembler.h> diff --git a/powerpc/cstart64.S b/powerpc/cstart64.S index 972851f9ed65..1a823385fd0f 100644 --- a/powerpc/cstart64.S +++ b/powerpc/cstart64.S @@ -5,7 +5,6 @@ * * This work is licensed under the terms of the GNU LGPL, version 2. */ -#define __ASSEMBLY__ #include <asm/hcall.h> #include <asm/ppc_asm.h> #include <asm/rtas.h>
There are 25 header files today (found with grep -r "#ifndef __ASSEMBLY__) with functionality relies on the __ASSEMBLY__ prepocessor constant being correctly defined to work correctly. So far, kvm-unit-tests has relied on the assembly files to define the constant before including any header files which depend on it. Let's make sure that nobody gets this wrong and define it as a compiler constant when compiling assembly files. __ASSEMBLY__ is now defined for all .S files, even those that didn't set it explicitely before. Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com> --- Makefile | 5 ++++- arm/cstart.S | 1 - arm/cstart64.S | 1 - powerpc/cstart64.S | 1 - 4 files changed, 4 insertions(+), 4 deletions(-)