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

Re: [Minios-devel] [PATCH 37/40] arm64: add the makefile



Hi Shijie,

On 03/11/17 03:12, Huang Shijie wrote:
Add the makefile for arm64 code.

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

Change-Id: I8fab7db2fe0d24d700e8be2dc9477e5812d6643b
Jira: ENTOS-247
Signed-off-by: Huang Shijie <shijie.huang@xxxxxxx>
---
  arch/arm/arm64/Makefile | 26 ++++++++++++++++++++++++++
  arch/arm/arm64/arch.mk  |  7 +++++++
  2 files changed, 33 insertions(+)
  create mode 100644 arch/arm/arm64/Makefile
  create mode 100644 arch/arm/arm64/arch.mk

diff --git a/arch/arm/arm64/Makefile b/arch/arm/arm64/Makefile
new file mode 100644
index 0000000..f268441
--- /dev/null
+++ b/arch/arm/arm64/Makefile
@@ -0,0 +1,26 @@
+#
+# ARM architecture specific makefiles.
+#
+TOPLEVEL_DIR = $(CURDIR)/../../..
+OBJ_DIR=$(CURDIR)
+
+include ../../../Config.mk
+include ../../../minios.mk
+
+ifeq ($(MINIOS_TARGET_ARCH),arm64)
+src-y += ../setup.c ../mm.c ../sched.c ../gic.c ../events.c ../time.c traps.c

This is really ugly and clearly show the lack of cohesion between arm64 and arm32. You would not need that if the directory arm where containing only common code.

+src-$(CONFIG_BALLOON) += ../balloon.c
+
+ARCH_OBJS := $(patsubst %.c,$(OBJ_DIR)/%.o,$(src-y))
+ARCH_OBJS += $(OBJ_DIR)/hypercalls64.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/arm64/arch.mk b/arch/arm/arm64/arch.mk
new file mode 100644
index 0000000..28e1d9c
--- /dev/null
+++ b/arch/arm/arm64/arch.mk
@@ -0,0 +1,7 @@
+ifeq ($(MINIOS_TARGET_ARCH),arm64)
+ARCH_CFLAGS  := -D__aarch64__ -DXEN_HAVE_PV_GUEST_ENTRY -mgeneral-regs-only 
-fno-PIE

Why do you need to define __aarch64__? The compiler should to it for you.

Why do you define XEN_HAVE_PV_GUEST_ENTRY? Arm does not have any start_info page.

Lastly, why -fno-PIE?

+ARCH_LDFLAGS :=
+ARCH_ASFLAGS :=
+EXTRA_INC += $(TARGET_ARCH_FAM)/$(MINIOS_TARGET_ARCH)
+EXTRA_SRC += arch/$(EXTRA_INC)
+endif


Cheers,

--
Julien Grall

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

 


Rackspace

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