[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [PATCH v3 37/43] arm64: add the makefile



Add the makefile for arm64 code.

This patch refers to Chen Baozi's patch:
     "Initial codes for arm64"

Signed-off-by: Huang Shijie <shijie.huang@xxxxxxx>
---
 arch/arm/Makefile | 29 +++++++++++++++++++++++++++++
 arch/arm/arch.mk  |  7 +++++++
 minios.mk         |  4 ++++
 3 files changed, 40 insertions(+)
 create mode 100644 arch/arm/Makefile
 create mode 100644 arch/arm/arch.mk

diff --git a/arch/arm/Makefile b/arch/arm/Makefile
new file mode 100644
index 0000000..c46138a
--- /dev/null
+++ b/arch/arm/Makefile
@@ -0,0 +1,29 @@
+#
+# ARM architecture specific makefiles.
+#
+TOPLEVEL_DIR = $(CURDIR)/../..
+OBJ_DIR=$(CURDIR)
+
+include ../../Config.mk
+include ../../minios.mk
+
+src-y += setup.c mm.c sched.c gic.c events.c time.c
+src-$(CONFIG_BALLOON) += balloon.c
+
+ARCH_OBJS := $(patsubst %.c,$(OBJ_DIR)/%.o,$(src-y))
+
+ifeq ($(MINIOS_TARGET_ARCH),arm64)
+ARCH_OBJS += $(OBJ_DIR)/arm64/hypercalls64.o
+ARCH_OBJS += $(OBJ_DIR)/arm64/traps.o
+HEAD_ARCH_OBJ = arm64/arm64.o
+endif
+
+all: $(OBJ_DIR)/$(ARCH_LIB)
+
+# $(HEAD_ARCH_OBJ) is only built here, needed on linking
+# in ../../Makefile.
+$(OBJ_DIR)/$(ARCH_LIB): $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ)
+       $(AR) rv $(OBJ_DIR)/$(ARCH_LIB) $(ARCH_OBJS)
+
+clean:
+       rm -f $(OBJ_DIR)/$(ARCH_LIB) $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ)
diff --git a/arch/arm/arch.mk b/arch/arm/arch.mk
new file mode 100644
index 0000000..a7d00a6
--- /dev/null
+++ b/arch/arm/arch.mk
@@ -0,0 +1,7 @@
+ifeq ($(MINIOS_TARGET_ARCH),arm64)
+ARCH_CFLAGS  := -mgeneral-regs-only -fno-PIE
+ARCH_LDFLAGS :=
+ARCH_ASFLAGS :=
+EXTRA_INC += $(TARGET_ARCH_FAM)/$(MINIOS_TARGET_ARCH)
+EXTRA_SRC += arch/$(EXTRA_INC)
+endif
diff --git a/minios.mk b/minios.mk
index ef4d2f9..9112e14 100644
--- a/minios.mk
+++ b/minios.mk
@@ -61,7 +61,11 @@ ARCH_LIB := lib$(ARCH_LIB_NAME).a
 # This object contains the entrypoint for startup from Xen.
 # $(HEAD_ARCH_OBJ) has to be built in the architecture specific directory.
 HEAD_ARCH_OBJ := $(MINIOS_TARGET_ARCH).o
+ifeq ($(MINIOS_TARGET_ARCH),arm64)
+HEAD_OBJ := $(OBJ_DIR)/$(TARGET_ARCH_DIR)/arm64/$(HEAD_ARCH_OBJ)
+else
 HEAD_OBJ := $(OBJ_DIR)/$(TARGET_ARCH_DIR)/$(HEAD_ARCH_OBJ)
+endif
 
 
 $(OBJ_DIR)/%.o: %.c $(HDRS) Makefile $(EXTRA_DEPS)
-- 
2.7.4


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.