commit ec33fcfa4fa2438f1b5dcd6a558e30a1fc0a6297
parent 40d98ddb694432223554293411b70bb308f07908
Author: Roberto Vargas <roberto.vargas@arm.com>
Date: Wed, 12 Dec 2018 14:01:02 +0000
Merge branch 'master' of ssh://gerrit.oss.arm.com/trusted-firmware/rcode
Change-Id: Ieb8ea866d451b0cccfa30cc564e01c8e49a27f6b
Diffstat:
8 files changed, 10 insertions(+), 24 deletions(-)
diff --git a/Makefile b/Makefile
@@ -20,14 +20,9 @@ bin lib:
drivers src target: FORCE
+@cd $@ && $(MAKE)
-drivers: drivers/devs.mk
-
-drivers/devs.mk: $(TARGETDIR)/rcode
- $(SCRIPTDIR)/mkdev $(TARGETDIR)/rcode
-
gen: FORCE
+@cd src && $(MAKE) gen
-clean: drivers/devs.mk
+clean:
$(FORALL)
rm -rf lib bin
diff --git a/config/rmode-rcode-armclang.mk b/config/rmode-rcode-armclang.mk
@@ -2,7 +2,7 @@ ARCH = rmode
SYS = rcode
MODE = native
SYSASFLAGS = -fintegrated-as -c -target aarch64-arm-none-eabi
-SYSCFLAGS = -g -static -nostdinc -ffreestanding -std=c99 -mgeneral-regs-only -fno-stack-protector -MD -Wall -target aarch64-arm-none-eabi
+SYSCFLAGS = -g -static -nostdinc -ffreestanding -std=c99 -mgeneral-regs-only -fno-stack-protector -MD -Wall -target aarch64-arm-none-eabi -fno-jump-tables
SYSLDFLAGS = -static -z nodefaultlib -T $(CONFDIR)/rmode-rcode-armclang.ld
COMP = armclang
ASM = armclang
diff --git a/config/rmode-rcode-clang.mk b/config/rmode-rcode-clang.mk
@@ -2,7 +2,7 @@ ARCH = rmode
SYS = rcode
MODE = native
SYSASFLAGS = -fintegrated-as -c -target aarch64-elf
-SYSCFLAGS = -g -static -nostdinc -ffreestanding -std=c99 -mgeneral-regs-only -fno-stack-protector -MD -Wall -target aarch64-elf
+SYSCFLAGS = -g -static -nostdinc -ffreestanding -std=c99 -mgeneral-regs-only -fno-stack-protector -MD -Wall -target aarch64-elf -fno-jump-tables
SYSLDFLAGS = -static -z nodefaultlib -T $(CONFDIR)/rmode-rcode.ld
COMP = clang
ASM = clang
diff --git a/drivers/Makefile b/drivers/Makefile
@@ -1,18 +1,9 @@
.POSIX:
PROJECTDIR=..
include $(PROJECTDIR)/scripts/rules.mk
-include devs.mk
-OBJS = $(DEVS) \
- devc.o \
+all clean: devs.mk
+ $(MAKE) -f Makefile.drv $@
-all: builtin.o
-
-builtin.o: $(OBJS)
- $(LD) $(RCODE_LDFLAGS) -r -o $@ $(OBJS)
-
-devc.c: $(TARGETDIR)/rcode
- ./mkdevc $(TARGETDIR)/rcode
-
-clean:
- rm -f devs.mk devc.c
+devs.mk: $(TARGETDIR)/rcode
+ $(SCRIPTDIR)/mkdev $(TARGETDIR)/rcode
diff --git a/drivers/Makefile b/drivers/Makefile.drv
diff --git a/drivers/devroot.c b/drivers/devroot.c
@@ -2,8 +2,6 @@
#include "dev.h"
-#define NELEM(tab) (sizeof(tab) / sizeof(tab[0]))
-
enum Orootqid {
Qslash,
Qdev,
diff --git a/include/rcode/rcode.h b/include/rcode/rcode.h
@@ -9,6 +9,8 @@
#define dbg
#endif
+#define NELEM(tab) (sizeof(tab) / sizeof((tab)[0]))
+
#define PAGESIZE 4096
#define IENABLE 1
#define IDISABLE 0
diff --git a/scripts/mkdev b/scripts/mkdev
@@ -9,4 +9,4 @@ BEGIN {print "DEVS = dev.o\\"}
/^[^ \t]/ {print "error: " $0; exit -1}
/^[ \t]/ {printf "\t%s\\\n", (dev) ? "dev" $1 ".o" : $1 ".o"
for (i = 2; i <= NF; i++)
- printf "\t%s.o\\\n", $i}' > drivers/devs.mk
+ printf "\t%s.o\\\n", $i}' > devs.mk