From: Mark Rutland <mark.rutland@arm.com>
To: linux-arm-kernel@lists.infradead.org
Cc: Andre.Przywara@arm.com, Jaxson.Han@arm.com, mark.rutland@arm.com,
Wei.Chen@arm.com
Subject: [boot-wrapper PATCH 12/12] Move common source files to `common` directory
Date: Thu, 29 Jul 2021 16:20:50 +0100 [thread overview]
Message-ID: <20210729152050.23635-13-mark.rutland@arm.com> (raw)
In-Reply-To: <20210729152050.23635-1-mark.rutland@arm.com>
The top-level directory is getting increasingly cluttered. For clarity
let's move the common source files into their own directory. At the same
time let's clean up the way we generate object lists so that it's
consistent for arch/common objects, and doesn't require special casing
each optional object.
Note that we also need to create a common/ directory for out-of-tree
builds.
There should be no functional change as a result of this patch.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
---
Makefile.am | 29 +++++++++++++++++------------
bakery_lock.c => common/bakery_lock.c | 0
boot_common.c => common/boot.c | 2 +-
gic-v3.c => common/gic-v3.c | 0
gic.c => common/gic.c | 0
lib.c => common/lib.c | 0
platform.c => common/platform.c | 0
psci.c => common/psci.c | 0
8 files changed, 18 insertions(+), 13 deletions(-)
rename bakery_lock.c => common/bakery_lock.c (100%)
rename boot_common.c => common/boot.c (96%)
rename gic-v3.c => common/gic-v3.c (100%)
rename gic.c => common/gic.c (100%)
rename lib.c => common/lib.c (100%)
rename platform.c => common/platform.c (100%)
rename psci.c => common/psci.c (100%)
diff --git a/Makefile.am b/Makefile.am
index 5d34cc8..68f23d3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -33,7 +33,10 @@ PSCI_CPU_ON := 0xc4000003
endif
PSCI_CPU_OFF := 0x84000002
-OFILES =
+COMMON_SRC := common/
+COMMON_OBJ := boot.o bakery_lock.o platform.o lib.o
+
+ARCH_OBJ := boot.o stack.o utils.o
if BOOTWRAPPER_32
CPPFLAGS += -DBOOTWRAPPER_32
@@ -45,8 +48,8 @@ ARCH_SRC := arch/aarch64/
endif
if PSCI
-BOOTMETHOD := psci.o
-OFILES += psci.o
+ARCH_OBJ += psci.o
+COMMON_OBJ += psci.o
PSCI_NODE := psci { \
compatible = \"arm,psci\"; \
method = \"smc\"; \
@@ -55,7 +58,7 @@ PSCI_NODE := psci { \
};
CPU_NODES := $(shell perl -I $(SCRIPT_DIR) $(SCRIPT_DIR)/addpsci.pl $(KERNEL_DTB))
else
-BOOTMETHOD := spin.o
+ARCH_OBJ += spin.o
PSCI_NODE :=
CPU_NODES :=
endif
@@ -65,13 +68,13 @@ GIC_DIST_BASE := $(shell perl -I $(SCRIPT_DIR) $(SCRIPT_DIR)/findbase.pl $(KERNE
GIC_RDIST_BASE := $(shell perl -I $(SCRIPT_DIR) $(SCRIPT_DIR)/findbase.pl $(KERNEL_DTB) 1 'arm,gic-v3')
DEFINES += -DGIC_DIST_BASE=$(GIC_DIST_BASE)
DEFINES += -DGIC_RDIST_BASE=$(GIC_RDIST_BASE)
-GIC := gic-v3.o
+COMMON_OBJ += gic-v3.o
else
GIC_DIST_BASE := $(shell perl -I $(SCRIPT_DIR) $(SCRIPT_DIR)/findbase.pl $(KERNEL_DTB) 0 'arm,cortex-a15-gic')
GIC_CPU_BASE := $(shell perl -I $(SCRIPT_DIR) $(SCRIPT_DIR)/findbase.pl $(KERNEL_DTB) 1 'arm,cortex-a15-gic')
DEFINES += -DGIC_CPU_BASE=$(GIC_CPU_BASE)
DEFINES += -DGIC_DIST_BASE=$(GIC_DIST_BASE)
-GIC := gic.o
+COMMON_OBJ += gic.o
endif
if KERNEL_32
@@ -125,8 +128,7 @@ CFLAGS += -Wall -fomit-frame-pointer
CFLAGS += -ffunction-sections -fdata-sections
LDFLAGS += --gc-sections
-OFILES += boot_common.o bakery_lock.o platform.o $(GIC) lib.o
-OFILES += $(addprefix $(ARCH_SRC),boot.o stack.o $(BOOTMETHOD) utils.o)
+OBJ := $(addprefix $(ARCH_SRC),$(ARCH_OBJ)) $(addprefix $(COMMON_SRC),$(COMMON_OBJ))
# Don't lookup all prerequisites in $(top_srcdir), only the source files. When
# building outside the source tree $(ARCH_SRC) needs to be created.
@@ -136,18 +138,21 @@ vpath %.S $(top_srcdir)
all: $(IMAGE)
-CLEANFILES = $(IMAGE) linux-system.axf xen-system.axf $(OFILES) model.lds fdt.dtb
+CLEANFILES = $(IMAGE) linux-system.axf xen-system.axf $(OBJ) model.lds fdt.dtb
-$(IMAGE): $(OFILES) model.lds fdt.dtb $(KERNEL_IMAGE) $(FILESYSTEM) $(XEN_IMAGE)
- $(LD) $(LDFLAGS) $(OFILES) -o $@ --script=model.lds
+$(IMAGE): $(OBJ) model.lds fdt.dtb $(KERNEL_IMAGE) $(FILESYSTEM) $(XEN_IMAGE)
+ $(LD) $(LDFLAGS) $(OBJ) -o $@ --script=model.lds
$(ARCH_SRC):
$(MKDIR_P) $@
+$(COMMON_SRC):
+ $(MKDIR_P) $@
+
%.o: %.S Makefile | $(ARCH_SRC)
$(CC) $(CPPFLAGS) -D__ASSEMBLY__ $(CFLAGS) $(DEFINES) -c -o $@ $<
-%.o: %.c Makefile
+%.o: %.c Makefile | $(COMMON_SRC)
$(CC) $(CPPFLAGS) $(CFLAGS) $(DEFINES) -c -o $@ $<
model.lds: $(LD_SCRIPT) Makefile
diff --git a/bakery_lock.c b/common/bakery_lock.c
similarity index 100%
rename from bakery_lock.c
rename to common/bakery_lock.c
diff --git a/boot_common.c b/common/boot.c
similarity index 96%
rename from boot_common.c
rename to common/boot.c
index eada179..c74d34c 100644
--- a/boot_common.c
+++ b/common/boot.c
@@ -1,5 +1,5 @@
/*
- * boot_common.c - common spin function for all boot methods
+ * boot.c - common spin function for all boot methods
*
* Copyright (C) 2015 ARM Limited. All rights reserved.
*
diff --git a/gic-v3.c b/common/gic-v3.c
similarity index 100%
rename from gic-v3.c
rename to common/gic-v3.c
diff --git a/gic.c b/common/gic.c
similarity index 100%
rename from gic.c
rename to common/gic.c
diff --git a/lib.c b/common/lib.c
similarity index 100%
rename from lib.c
rename to common/lib.c
diff --git a/platform.c b/common/platform.c
similarity index 100%
rename from platform.c
rename to common/platform.c
diff --git a/psci.c b/common/psci.c
similarity index 100%
rename from psci.c
rename to common/psci.c
--
2.11.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-07-29 15:38 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-29 15:20 [boot-wrapper PATCH 00/12] Preparatory fixes and cleanup Mark Rutland
2021-07-29 15:20 ` [boot-wrapper PATCH 01/12] Ensure `kernel_address` is aligned Mark Rutland
2021-07-30 15:11 ` Andre Przywara
2021-07-29 15:20 ` [boot-wrapper PATCH 02/12] Output text separately from data Mark Rutland
2021-07-29 15:20 ` [boot-wrapper PATCH 03/12] Remove cache maintenance Mark Rutland
2021-07-30 15:12 ` Andre Przywara
2021-07-30 15:43 ` Mark Rutland
2021-07-29 15:20 ` [boot-wrapper PATCH 04/12] Remove `flag_no_el3` Mark Rutland
2021-07-30 15:13 ` Andre Przywara
2021-07-30 16:43 ` Mark Rutland
2021-08-02 14:43 ` Mark Rutland
2021-07-29 15:20 ` [boot-wrapper PATCH 05/12] Move PSCI triage to C Mark Rutland
2021-07-29 15:20 ` [boot-wrapper PATCH 06/12] Move scripts to a `scripts` directory Mark Rutland
2021-07-30 15:13 ` Andre Przywara
2021-07-29 15:20 ` [boot-wrapper PATCH 07/12] aarch64: respect text offset Mark Rutland
2021-07-30 15:13 ` Andre Przywara
2021-07-30 15:43 ` Mark Rutland
2021-07-29 15:20 ` [boot-wrapper PATCH 08/12] Consistently use logical CPU IDs Mark Rutland
2021-07-30 17:38 ` Andre Przywara
2021-07-29 15:20 ` [boot-wrapper PATCH 09/12] Cleanup `.globl` usage Mark Rutland
2021-07-30 17:39 ` Andre Przywara
2021-07-29 15:20 ` [boot-wrapper PATCH 10/12] aarch32: rename `_spin_dead` -> `err_invalid_id` Mark Rutland
2021-07-30 17:39 ` Andre Przywara
2021-07-29 15:20 ` [boot-wrapper PATCH 11/12] Rename `spin.h` -> `boot.h` Mark Rutland
2021-07-30 17:39 ` Andre Przywara
2021-07-29 15:20 ` Mark Rutland [this message]
2021-07-30 17:40 ` [boot-wrapper PATCH 12/12] Move common source files to `common` directory Andre Przywara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210729152050.23635-13-mark.rutland@arm.com \
--to=mark.rutland@arm.com \
--cc=Andre.Przywara@arm.com \
--cc=Jaxson.Han@arm.com \
--cc=Wei.Chen@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).