diff options
-rw-r--r-- | arch/powerpc/Kconfig | 4 | ||||
-rw-r--r-- | arch/powerpc/boot/Makefile | 67 | ||||
-rw-r--r-- | arch/powerpc/boot/simpleboot.c | 2 | ||||
-rw-r--r-- | scripts/Makefile | 1 | ||||
-rw-r--r-- | scripts/dtc/Makefile | 54 | ||||
-rw-r--r-- | scripts/dtc/Makefile.dtc (renamed from arch/powerpc/boot/dtc-src/Makefile.dtc) | 0 | ||||
-rw-r--r-- | scripts/dtc/checks.c (renamed from arch/powerpc/boot/dtc-src/checks.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/data.c (renamed from arch/powerpc/boot/dtc-src/data.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/dtc-lexer.l (renamed from arch/powerpc/boot/dtc-src/dtc-lexer.l) | 0 | ||||
-rw-r--r-- | scripts/dtc/dtc-lexer.lex.c_shipped (renamed from arch/powerpc/boot/dtc-src/dtc-lexer.lex.c_shipped) | 0 | ||||
-rw-r--r-- | scripts/dtc/dtc-parser.tab.c_shipped (renamed from arch/powerpc/boot/dtc-src/dtc-parser.tab.c_shipped) | 0 | ||||
-rw-r--r-- | scripts/dtc/dtc-parser.tab.h_shipped (renamed from arch/powerpc/boot/dtc-src/dtc-parser.tab.h_shipped) | 0 | ||||
-rw-r--r-- | scripts/dtc/dtc-parser.y (renamed from arch/powerpc/boot/dtc-src/dtc-parser.y) | 0 | ||||
-rw-r--r-- | scripts/dtc/dtc.c (renamed from arch/powerpc/boot/dtc-src/dtc.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/dtc.h (renamed from arch/powerpc/boot/dtc-src/dtc.h) | 0 | ||||
-rw-r--r-- | scripts/dtc/flattree.c (renamed from arch/powerpc/boot/dtc-src/flattree.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/fstree.c (renamed from arch/powerpc/boot/dtc-src/fstree.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/libfdt/Makefile.libfdt (renamed from arch/powerpc/boot/libfdt/Makefile.libfdt) | 0 | ||||
-rw-r--r-- | scripts/dtc/libfdt/fdt.c (renamed from arch/powerpc/boot/libfdt/fdt.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/libfdt/fdt.h (renamed from arch/powerpc/boot/libfdt/fdt.h) | 0 | ||||
-rw-r--r-- | scripts/dtc/libfdt/fdt_ro.c (renamed from arch/powerpc/boot/libfdt/fdt_ro.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/libfdt/fdt_rw.c (renamed from arch/powerpc/boot/libfdt/fdt_rw.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/libfdt/fdt_strerror.c (renamed from arch/powerpc/boot/libfdt/fdt_strerror.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/libfdt/fdt_sw.c (renamed from arch/powerpc/boot/libfdt/fdt_sw.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/libfdt/fdt_wip.c (renamed from arch/powerpc/boot/libfdt/fdt_wip.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/libfdt/libfdt.h (renamed from arch/powerpc/boot/libfdt/libfdt.h) | 0 | ||||
-rw-r--r-- | scripts/dtc/libfdt/libfdt_env.h (renamed from arch/powerpc/boot/dtc-src/libfdt_env.h) | 0 | ||||
-rw-r--r-- | scripts/dtc/libfdt/libfdt_internal.h (renamed from arch/powerpc/boot/libfdt/libfdt_internal.h) | 0 | ||||
-rw-r--r-- | scripts/dtc/livetree.c (renamed from arch/powerpc/boot/dtc-src/livetree.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/srcpos.c (renamed from arch/powerpc/boot/dtc-src/srcpos.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/srcpos.h (renamed from arch/powerpc/boot/dtc-src/srcpos.h) | 0 | ||||
-rw-r--r-- | scripts/dtc/treesource.c (renamed from arch/powerpc/boot/dtc-src/treesource.c) | 0 | ||||
-rw-r--r-- | scripts/dtc/version_gen.h (renamed from arch/powerpc/boot/dtc-src/version_gen.h) | 0 |
33 files changed, 83 insertions, 45 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 4c780455136..a0d1146a057 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -181,6 +181,10 @@ config SYS_SUPPORTS_APM_EMULATION default y if PMAC_APM_EMU bool +config DTC + bool + default y + config DEFAULT_UIMAGE bool help diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 4458abb67c5..8da2bf963b5 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -33,7 +33,7 @@ ifeq ($(call cc-option-yn, -fstack-protector),y) BOOTCFLAGS += -fno-stack-protector endif -BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj) -I$(srctree)/$(src)/libfdt +BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj) DTS_FLAGS ?= -p 1024 @@ -53,9 +53,14 @@ zliblinuxheader := zlib.h zconf.h zutil.h $(addprefix $(obj)/,$(zlib) cuboot-c2k.o gunzip_util.o main.o prpmc2800.o): \ $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) -src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c +libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c +libfdtheader := fdt.h libfdt.h libfdt_internal.h + +$(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o): \ + $(addprefix $(obj)/,$(libfdtheader)) + src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \ - $(addprefix libfdt/,$(src-libfdt)) libfdt-wrapper.c \ + $(libfdt) libfdt-wrapper.c \ ns16550.c serial.c simple_alloc.c div64.S util.S \ gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ 4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \ @@ -96,6 +101,12 @@ $(addprefix $(obj)/,$(zlibheader)): $(obj)/%: $(srctree)/lib/zlib_inflate/% $(addprefix $(obj)/,$(zliblinuxheader)): $(obj)/%: $(srctree)/include/linux/% $(call cmd,copy_zliblinuxheader) +quiet_cmd_copy_libfdt = COPY $@ + cmd_copy_libfdt = cp $< $@ + +$(addprefix $(obj)/,$(libfdt) $(libfdtheader)): $(obj)/%: $(srctree)/scripts/dtc/libfdt/% + $(call cmd,copy_libfdt) + $(obj)/empty.c: @touch $@ @@ -103,6 +114,7 @@ $(obj)/zImage.lds $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds: $(obj)/%: $(srct @cp $< $@ clean-files := $(zlib) $(zlibheader) $(zliblinuxheader) \ + $(libfdt) $(libfdtheader) \ empty.c zImage.coff.lds zImage.ps3.lds zImage.lds quiet_cmd_bootcc = BOOTCC $@ @@ -114,6 +126,8 @@ quiet_cmd_bootas = BOOTAS $@ quiet_cmd_bootar = BOOTAR $@ cmd_bootar = $(CROSS32AR) -cr $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@ +$(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE + $(call if_changed_dep,bootcc) $(patsubst %.c,%.o, $(filter %.c, $(src-boot))): %.o: %.c FORCE $(Q)mkdir -p $(dir $@) $(call if_changed_dep,bootcc) @@ -124,7 +138,7 @@ $(patsubst %.S,%.o, $(filter %.S, $(src-boot))): %.o: %.S FORCE $(obj)/wrapper.a: $(obj-wlib) FORCE $(call if_changed,bootar) -hostprogs-y := addnote addRamDisk hack-coff mktree dtc +hostprogs-y := addnote addRamDisk hack-coff mktree targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a) extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \ @@ -133,47 +147,10 @@ extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \ dtstree := $(srctree)/$(src)/dts wrapper :=$(srctree)/$(src)/wrapper -wrapperbits := $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree dtc) \ +wrapperbits := $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree) \ $(wrapper) FORCE ############# -# Bits for building dtc -# DTC_GENPARSER := 1 # Uncomment to rebuild flex/bison output - -dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o srcpos.o checks.o -dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o -dtc-objs := $(addprefix dtc-src/, $(dtc-objs)) - -# prerequisites on generated files needs to be explicit -$(obj)/dtc-src/dtc-parser.tab.o: $(obj)/dtc-src/dtc-parser.tab.c $(obj)/dtc-src/dtc-parser.tab.h -$(obj)/dtc-src/dtc-lexer.lex.o: $(obj)/dtc-src/dtc-lexer.lex.c $(obj)/dtc-src/dtc-parser.tab.h - -HOSTCFLAGS += -I$(src)/dtc-src/ -I$(src)/libfdt/ - -targets += dtc-src/dtc-parser.tab.c -targets += dtc-src/dtc-lexer.lex.c - -clean-files += dtc-src/dtc-parser.tab.h - -ifdef DTC_GENPARSER -BISON = bison -FLEX = flex - -quiet_cmd_bison = BISON $@ - cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped -quiet_cmd_flex = FLEX $@ - cmd_flex = $(FLEX) -o$@ $<; cp $@ $@_shipped - -$(obj)/dtc-src/dtc-parser.tab.c: $(src)/dtc-src/dtc-parser.y FORCE - $(call if_changed,bison) - -$(obj)/dtc-src/dtc-parser.tab.h: $(obj)/dtc-src/dtc-parser.tab.c - -$(obj)/dtc-src/dtc-lexer.lex.c: $(src)/dtc-src/dtc-lexer.l FORCE - $(call if_changed,flex) -endif - -############# # Bits for building various flavours of zImage ifneq ($(CROSS32_COMPILE),) @@ -347,8 +324,10 @@ $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits) $(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb) # Rule to build device tree blobs -$(obj)/%.dtb: $(dtstree)/%.dts $(obj)/dtc - $(obj)/dtc -O dtb -o $(obj)/$*.dtb -b 0 $(DTS_FLAGS) $(dtstree)/$*.dts +DTC = $(objtree)/scripts/dtc/dtc + +$(obj)/%.dtb: $(dtstree)/%.dts + $(DTC) -O dtb -o $(obj)/$*.dtb -b 0 $(DTS_FLAGS) $(dtstree)/$*.dts # If there isn't a platform selected then just strip the vmlinux. ifeq (,$(image-y)) diff --git a/arch/powerpc/boot/simpleboot.c b/arch/powerpc/boot/simpleboot.c index c58a0dada99..21cd48074ec 100644 --- a/arch/powerpc/boot/simpleboot.c +++ b/arch/powerpc/boot/simpleboot.c @@ -19,7 +19,7 @@ #include "types.h" #include "io.h" #include "stdio.h" -#include "libfdt/libfdt.h" +#include <libfdt.h> BSS_STACK(4*1024); diff --git a/scripts/Makefile b/scripts/Makefile index aafdf064fee..9dd5b25a1d5 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -21,6 +21,7 @@ hostprogs-y += unifdef subdir-$(CONFIG_MODVERSIONS) += genksyms subdir-y += mod subdir-$(CONFIG_SECURITY_SELINUX) += selinux +subdir-$(CONFIG_DTC) += dtc # Let clean descend into subdirs subdir- += basic kconfig package selinux diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile new file mode 100644 index 00000000000..01cdb36fc58 --- /dev/null +++ b/scripts/dtc/Makefile @@ -0,0 +1,54 @@ +# scripts/dtc makefile + +hostprogs-y := dtc +always := $(hostprogs-y) + +dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ + srcpos.o checks.o +dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o + +# Source files need to get at the userspace version of libfdt_env.h to compile + +HOSTCFLAGS_DTC := -I$(src) -I$(src)/libfdt + +HOSTCFLAGS_checks.o := $(HOSTCFLAGS_DTC) +HOSTCFLAGS_data.o := $(HOSTCFLAGS_DTC) +HOSTCFLAGS_dtc.o := $(HOSTCFLAGS_DTC) +HOSTCFLAGS_flattree.o := $(HOSTCFLAGS_DTC) +HOSTCFLAGS_fstree.o := $(HOSTCFLAGS_DTC) +HOSTCFLAGS_livetree.o := $(HOSTCFLAGS_DTC) +HOSTCFLAGS_srcpos.o := $(HOSTCFLAGS_DTC) +HOSTCFLAGS_treesource.o := $(HOSTCFLAGS_DTC) + +HOSTCFLAGS_dtc-lexer.lex.o := $(HOSTCFLAGS_DTC) +HOSTCFLAGS_dtc-parser.tab.o := $(HOSTCFLAGS_DTC) + +# dependencies on generated files need to be listed explicitly +$(obj)/dtc-parser.tab.o: $(obj)/dtc-parser.tab.c $(obj)/dtc-parser.tab.h +$(obj)/dtc-lexer.lex.o: $(obj)/dtc-lexer.lex.c $(obj)/dtc-parser.tab.h + +targets += dtc-parser.tab.c dtc-lexer.lex.c + +clean-files += dtc-parser.tab.h + +# GENERATE_PARSER := 1 # Uncomment to rebuild flex/bison output + +ifdef GENERATE_PARSER + +BISON = bison +FLEX = flex + +quiet_cmd_bison = BISON $@ + cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped +quiet_cmd_flex = FLEX $@ + cmd_flex = $(FLEX) -o$@ $<; cp $@ $@_shipped + +$(obj)/dtc-parser.tab.c: $(src)/dtc-parser.y FORCE + $(call if_changed,bison) + +$(obj)/dtc-parser.tab.h: $(obj)/dtc-parser.tab.c + +$(obj)/dtc-lexer.lex.c: $(src)/dtc-lexer.l FORCE + $(call if_changed,flex) + +endif diff --git a/arch/powerpc/boot/dtc-src/Makefile.dtc b/scripts/dtc/Makefile.dtc index 6ddf9ecac66..6ddf9ecac66 100644 --- a/arch/powerpc/boot/dtc-src/Makefile.dtc +++ b/scripts/dtc/Makefile.dtc diff --git a/arch/powerpc/boot/dtc-src/checks.c b/scripts/dtc/checks.c index 95485796f25..95485796f25 100644 --- a/arch/powerpc/boot/dtc-src/checks.c +++ b/scripts/dtc/checks.c diff --git a/arch/powerpc/boot/dtc-src/data.c b/scripts/dtc/data.c index dd2e3d39d4c..dd2e3d39d4c 100644 --- a/arch/powerpc/boot/dtc-src/data.c +++ b/scripts/dtc/data.c diff --git a/arch/powerpc/boot/dtc-src/dtc-lexer.l b/scripts/dtc/dtc-lexer.l index 44dbfd3f097..44dbfd3f097 100644 --- a/arch/powerpc/boot/dtc-src/dtc-lexer.l +++ b/scripts/dtc/dtc-lexer.l diff --git a/arch/powerpc/boot/dtc-src/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped index ac392cb040f..ac392cb040f 100644 --- a/arch/powerpc/boot/dtc-src/dtc-lexer.lex.c_shipped +++ b/scripts/dtc/dtc-lexer.lex.c_shipped diff --git a/arch/powerpc/boot/dtc-src/dtc-parser.tab.c_shipped b/scripts/dtc/dtc-parser.tab.c_shipped index 27129377e5d..27129377e5d 100644 --- a/arch/powerpc/boot/dtc-src/dtc-parser.tab.c_shipped +++ b/scripts/dtc/dtc-parser.tab.c_shipped diff --git a/arch/powerpc/boot/dtc-src/dtc-parser.tab.h_shipped b/scripts/dtc/dtc-parser.tab.h_shipped index ba99100d55c..ba99100d55c 100644 --- a/arch/powerpc/boot/dtc-src/dtc-parser.tab.h_shipped +++ b/scripts/dtc/dtc-parser.tab.h_shipped diff --git a/arch/powerpc/boot/dtc-src/dtc-parser.y b/scripts/dtc/dtc-parser.y index b2ab562420e..b2ab562420e 100644 --- a/arch/powerpc/boot/dtc-src/dtc-parser.y +++ b/scripts/dtc/dtc-parser.y diff --git a/arch/powerpc/boot/dtc-src/dtc.c b/scripts/dtc/dtc.c index d8fd43b4ac1..d8fd43b4ac1 100644 --- a/arch/powerpc/boot/dtc-src/dtc.c +++ b/scripts/dtc/dtc.c diff --git a/arch/powerpc/boot/dtc-src/dtc.h b/scripts/dtc/dtc.h index 08d54c87008..08d54c87008 100644 --- a/arch/powerpc/boot/dtc-src/dtc.h +++ b/scripts/dtc/dtc.h diff --git a/arch/powerpc/boot/dtc-src/flattree.c b/scripts/dtc/flattree.c index 76acd28c068..76acd28c068 100644 --- a/arch/powerpc/boot/dtc-src/flattree.c +++ b/scripts/dtc/flattree.c diff --git a/arch/powerpc/boot/dtc-src/fstree.c b/scripts/dtc/fstree.c index 766b2694d93..766b2694d93 100644 --- a/arch/powerpc/boot/dtc-src/fstree.c +++ b/scripts/dtc/fstree.c diff --git a/arch/powerpc/boot/libfdt/Makefile.libfdt b/scripts/dtc/libfdt/Makefile.libfdt index 6c42acfa21e..6c42acfa21e 100644 --- a/arch/powerpc/boot/libfdt/Makefile.libfdt +++ b/scripts/dtc/libfdt/Makefile.libfdt diff --git a/arch/powerpc/boot/libfdt/fdt.c b/scripts/dtc/libfdt/fdt.c index 2acaec5923a..2acaec5923a 100644 --- a/arch/powerpc/boot/libfdt/fdt.c +++ b/scripts/dtc/libfdt/fdt.c diff --git a/arch/powerpc/boot/libfdt/fdt.h b/scripts/dtc/libfdt/fdt.h index 48ccfd91000..48ccfd91000 100644 --- a/arch/powerpc/boot/libfdt/fdt.h +++ b/scripts/dtc/libfdt/fdt.h diff --git a/arch/powerpc/boot/libfdt/fdt_ro.c b/scripts/dtc/libfdt/fdt_ro.c index fbbba44fcd0..fbbba44fcd0 100644 --- a/arch/powerpc/boot/libfdt/fdt_ro.c +++ b/scripts/dtc/libfdt/fdt_ro.c diff --git a/arch/powerpc/boot/libfdt/fdt_rw.c b/scripts/dtc/libfdt/fdt_rw.c index 8e7ec4cb7bc..8e7ec4cb7bc 100644 --- a/arch/powerpc/boot/libfdt/fdt_rw.c +++ b/scripts/dtc/libfdt/fdt_rw.c diff --git a/arch/powerpc/boot/libfdt/fdt_strerror.c b/scripts/dtc/libfdt/fdt_strerror.c index e6c3ceee8c5..e6c3ceee8c5 100644 --- a/arch/powerpc/boot/libfdt/fdt_strerror.c +++ b/scripts/dtc/libfdt/fdt_strerror.c diff --git a/arch/powerpc/boot/libfdt/fdt_sw.c b/scripts/dtc/libfdt/fdt_sw.c index 698329e0cca..698329e0cca 100644 --- a/arch/powerpc/boot/libfdt/fdt_sw.c +++ b/scripts/dtc/libfdt/fdt_sw.c diff --git a/arch/powerpc/boot/libfdt/fdt_wip.c b/scripts/dtc/libfdt/fdt_wip.c index a4652c6e787..a4652c6e787 100644 --- a/arch/powerpc/boot/libfdt/fdt_wip.c +++ b/scripts/dtc/libfdt/fdt_wip.c diff --git a/arch/powerpc/boot/libfdt/libfdt.h b/scripts/dtc/libfdt/libfdt.h index ce80e4fb41b..ce80e4fb41b 100644 --- a/arch/powerpc/boot/libfdt/libfdt.h +++ b/scripts/dtc/libfdt/libfdt.h diff --git a/arch/powerpc/boot/dtc-src/libfdt_env.h b/scripts/dtc/libfdt/libfdt_env.h index 449bf602daf..449bf602daf 100644 --- a/arch/powerpc/boot/dtc-src/libfdt_env.h +++ b/scripts/dtc/libfdt/libfdt_env.h diff --git a/arch/powerpc/boot/libfdt/libfdt_internal.h b/scripts/dtc/libfdt/libfdt_internal.h index 46eb93e4af5..46eb93e4af5 100644 --- a/arch/powerpc/boot/libfdt/libfdt_internal.h +++ b/scripts/dtc/libfdt/libfdt_internal.h diff --git a/arch/powerpc/boot/dtc-src/livetree.c b/scripts/dtc/livetree.c index 0ca3de550b3..0ca3de550b3 100644 --- a/arch/powerpc/boot/dtc-src/livetree.c +++ b/scripts/dtc/livetree.c diff --git a/arch/powerpc/boot/dtc-src/srcpos.c b/scripts/dtc/srcpos.c index 9641b7628b4..9641b7628b4 100644 --- a/arch/powerpc/boot/dtc-src/srcpos.c +++ b/scripts/dtc/srcpos.c diff --git a/arch/powerpc/boot/dtc-src/srcpos.h b/scripts/dtc/srcpos.h index e17c7c04db8..e17c7c04db8 100644 --- a/arch/powerpc/boot/dtc-src/srcpos.h +++ b/scripts/dtc/srcpos.h diff --git a/arch/powerpc/boot/dtc-src/treesource.c b/scripts/dtc/treesource.c index ebeb6eb2790..ebeb6eb2790 100644 --- a/arch/powerpc/boot/dtc-src/treesource.c +++ b/scripts/dtc/treesource.c diff --git a/arch/powerpc/boot/dtc-src/version_gen.h b/scripts/dtc/version_gen.h index 658ff42429d..658ff42429d 100644 --- a/arch/powerpc/boot/dtc-src/version_gen.h +++ b/scripts/dtc/version_gen.h |