Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30807ef2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'microblaze-v5.0-rc1' of git://git.monstr.eu/linux-2.6-microblaze

Pull arch/microblaze updates from Michal Simek:

 - Fix multiple Kbuild/Makefile issues

 - Start to use system call table generation

* tag 'microblaze-v5.0-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
  microblaze: remove the explicit removal of system.dtb
  microblaze: fix race condition in building boot images
  microblaze: add linux.bin* and simpleImage.* to PHONY
  microblaze: fix multiple bugs in arch/microblaze/boot/Makefile
  microblaze: move "... is ready" messages to arch/microblaze/Makefile
  microblaze: adjust the help to the real behavior
  microblaze: generate uapi header and system call table files
  microblaze: add system call table generation support
  microblaze: move __NR_syscalls macro from asm/unistd.h
  microblaze: Typo s/use use/use/
parents 507413a5 19d111cc
Loading
Loading
Loading
Loading
+17 −8
Original line number Diff line number Diff line
@@ -79,21 +79,30 @@ all: linux.bin
archclean:
	$(Q)$(MAKE) $(clean)=$(boot)

linux.bin linux.bin.gz linux.bin.ub: vmlinux
	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
archheaders:
	$(Q)$(MAKE) $(build)=arch/microblaze/kernel/syscalls all

simpleImage.%: vmlinux
PHONY += linux.bin linux.bin.gz linux.bin.ub
linux.bin.ub linux.bin.gz: linux.bin
linux.bin: vmlinux
linux.bin linux.bin.gz linux.bin.ub:
	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
	@echo 'Kernel: $(boot)/$@ is ready' ' (#'`cat .version`')'

PHONY += simpleImage.$(DTB)
simpleImage.$(DTB): vmlinux
	$(Q)$(MAKE) $(build)=$(boot) $(addprefix $(boot)/$@., ub unstrip strip)
	@echo 'Kernel: $(boot)/$@ is ready' ' (#'`cat .version`')'

define archhelp
  echo '* linux.bin    - Create raw binary'
  echo '  linux.bin.gz - Create compressed raw binary'
  echo '  linux.bin.ub - Create U-Boot wrapped raw binary'
  echo '  simpleImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in'
  echo '                   - stripped elf with fdt blob'
  echo '  simpleImage.<dt>.unstrip - full ELF image with fdt blob'
  echo '  *_defconfig      - Select default config from arch/microblaze/configs'
  echo ''
  echo '  simpleImage.<dt> - Create the following images with <dt>.dtb linked in'
  echo '                    simpleImage.<dt>        : raw image'
  echo '                    simpleImage.<dt>.ub     : raw image with U-Boot header'
  echo '                    simpleImage.<dt>.unstrip: ELF (identical to vmlinux)'
  echo '                    simpleImage.<dt>.strip  : stripped ELF'
  echo '  Targets with <dt> embed a device tree blob inside the image'
  echo '  These targets support board with firmware that does not'
  echo '  support passing a device tree directly. Replace <dt> with the'
+9 −14
Original line number Diff line number Diff line
@@ -3,38 +3,33 @@
# arch/microblaze/boot/Makefile
#

targets := linux.bin linux.bin.gz linux.bin.ub simpleImage.%
targets := linux.bin linux.bin.gz linux.bin.ub simpleImage.*

OBJCOPYFLAGS := -R .note -R .comment -R .note.gnu.build-id -O binary

$(obj)/linux.bin: vmlinux FORCE
	$(call if_changed,objcopy)
	@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'

$(obj)/linux.bin.ub: $(obj)/linux.bin FORCE
	$(call if_changed,uimage)
	@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'

$(obj)/linux.bin.gz: $(obj)/linux.bin FORCE
	$(call if_changed,gzip)
	@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'

quiet_cmd_cp = CP      $< $@$2
	cmd_cp = cat $< >$@$2 || (rm -f $@ && echo false)

quiet_cmd_strip = STRIP   $< $@$2
	cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \
				-K _fdt_start $< -o $@$2

UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR)
UIMAGE_IN = $@
UIMAGE_OUT = $@.ub

$(obj)/simpleImage.%: vmlinux FORCE
	$(call if_changed,cp,.unstrip)
$(obj)/simpleImage.$(DTB): vmlinux FORCE
	$(call if_changed,objcopy)

$(obj)/simpleImage.$(DTB).ub: $(obj)/simpleImage.$(DTB) FORCE
	$(call if_changed,uimage)
	$(call if_changed,strip,.strip)
	@echo 'Kernel: $(UIMAGE_OUT) is ready' ' (#'`cat .version`')'

clean-files += simpleImage.*.unstrip linux.bin.ub
$(obj)/simpleImage.$(DTB).unstrip: vmlinux FORCE
	$(call if_changed,shipped)

$(obj)/simpleImage.$(DTB).strip: vmlinux FORCE
	$(call if_changed,strip)
+1 −4
Original line number Diff line number Diff line
@@ -12,12 +12,9 @@ $(obj)/linked_dtb.o: $(obj)/system.dtb
# Generate system.dtb from $(DTB).dtb
ifneq ($(DTB),system)
$(obj)/system.dtb: $(obj)/$(DTB).dtb
	$(call if_changed,cp)
	$(call if_changed,shipped)
endif
endif

quiet_cmd_cp = CP      $< $@$2
	cmd_cp = cat $< >$@$2 || (rm -f $@ && echo false)

# Rule to build device tree blobs
DTC_FLAGS := -p 1024
+1 −0
Original line number Diff line number Diff line
generated-y += syscall_table.h
generic-y += barrier.h
generic-y += bitops.h
generic-y += bug.h
+1 −1
Original line number Diff line number Diff line
@@ -200,7 +200,7 @@ static inline pte_t pte_mkspecial(pte_t pte) { return pte; }
 * is cleared in the TLB miss handler before the TLB entry is loaded.
 * - All other bits of the PTE are loaded into TLBLO without
 *  * modification, leaving us only the bits 20, 21, 24, 25, 26, 30 for
 * software PTE bits.  We actually use use bits 21, 24, 25, and
 * software PTE bits.  We actually use bits 21, 24, 25, and
 * 30 respectively for the software bits: ACCESSED, DIRTY, RW, and
 * PRESENT.
 */
Loading