From: Sam Ravnborg <sam@ravnborg.org>
To: Ley Foon Tan <lftan@altera.com>
Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, lftan.linux@gmail.com,
cltang@codesourcery.com
Subject: Re: [PATCH v2 29/29] nios2: Build infrastructure
Date: Thu, 17 Jul 2014 11:35:14 +0200 [thread overview]
Message-ID: <20140717093514.GA15755@ravnborg.org> (raw)
In-Reply-To: <1405413956-2772-30-git-send-email-lftan@altera.com>
Hi Ley.
Looks much better than last time I reviewed this.
A bunch of small comments follows.
Sam
> diff --git a/arch/nios2/Makefile b/arch/nios2/Makefile
> new file mode 100644
> index 0000000..62b789a
> --- /dev/null
> +++ b/arch/nios2/Makefile
> @@ -0,0 +1,78 @@
> +#
> +# This file is subject to the terms and conditions of the GNU General Public
> +# License. See the file "COPYING" in the main directory of this archive
> +# for more details.
> +#
> +# Copyright (C) 2013 Altera Corporation
> +# Copyright (C) 1994, 95, 96, 2003 by Wind River Systems
> +# Written by Fredrik Markstrom
> +#
> +# This file is included by the global makefile so that you can add your own
> +# architecture-specific flags and dependencies. Remember to do have actions
> +# for "archclean" cleaning up for this architecture.
> +#
> +# Nios2 port by Wind River Systems Inc trough:
> +# fredrik.markstrom@gmail.com and ivarholmqvist@gmail.com
> +
> +UTS_SYSNAME = Linux
> +
> +export MMU
> +
> +cflags-y :=
> +LDFLAGS :=
> +LDFLAGS_vmlinux :=
These assignments are not needed.
> +
> +LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
> +
> +KBUILD_AFLAGS += $(cflags-y)
This is nop since $(cflags-y) is empty.
> +KBUILD_CFLAGS += -pipe -D__linux__ -D__ELF__ $(cflags-y)
Here the $(cflags-y) can be dropped too.
> +INSTALL_PATH ?= /tftpboot
> +boot := arch/$(ARCH)/boot
In all other places you spell out nios2 - so do it here too.
> +BOOT_TARGETS = vmImage zImage
> +PHONY += $(BOOT_TARGETS) install
> +KBUILD_IMAGE := $(boot)/vmImage
> +
> +ifneq ($(CONFIG_NIOS2_DTB_SOURCE),"")
> + core-y += $(boot)/
> +endif
> +
> +all: vmImage
> +
> +archclean:
> + $(Q)$(MAKE) $(clean)=$(boot)
> +
> +%.dtb:
> + $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
> +
> +dtbs:
> + $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
> +
> +$(BOOT_TARGETS): vmlinux
> + $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
> +
> +install:
> + $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install
> +
> +define archhelp
> + echo '* vmImage - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage)'
> + echo ' install - Install kernel using'
> + echo ' (your) ~/bin/$(CROSS_COMPILE)installkernel or'
> + echo ' (distribution) PATH: $(CROSS_COMPILE)installkernel or'
> + echo ' install to $$(INSTALL_PATH)'
Is this explanation true for nios2?
I could not check because the install.sh script was not included.
> + echo ' dtbs - Build device tree blobs for enabled boards'
> +endef
> diff --git a/arch/nios2/boot/Makefile b/arch/nios2/boot/Makefile
> new file mode 100644
> index 0000000..35c80e8
> --- /dev/null
> +++ b/arch/nios2/boot/Makefile
> @@ -0,0 +1,52 @@
> +#
> +# arch/nios2/boot/Makefile
> +#
> +# This file is subject to the terms and conditions of the GNU General Public
> +# License. See the file "COPYING" in the main directory of this archive
> +# for more details.
> +#
> +
> +UIMAGE_LOADADDR = $(shell $(NM) vmlinux | awk '$$NF == "_stext" {print $$1}')
> +UIMAGE_ENTRYADDR = $(shell $(NM) vmlinux | awk '$$NF == "_start" {print $$1}')
> +UIMAGE_COMPRESSION = gzip
> +
> +OBJCOPYFLAGS_vmlinux.bin := -O binary
> +
> +targets += vmlinux.bin vmlinux.gz vmImage
> +
> +$(obj)/vmlinux.bin: vmlinux FORCE
> + $(call if_changed,objcopy)
> +
> +$(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE
> + $(call if_changed,gzip)
> +
> +$(obj)/vmImage: $(obj)/vmlinux.gz
> + $(call if_changed,uimage)
> + @$(kecho) 'Kernel: $@ is ready'
> +
> +# Rule to build device tree blobs
> +DTB_SRC := $(subst ",,$(CONFIG_NIOS2_DTB_SOURCE))
If you use:
$(patsubst "%"
Then my editor get less confused. This is also what is used
for similar purposes for other architectures.
> +
> +# Make sure the generated dtb gets removed during clean
> +extra-$(CONFIG_NIOS2_DTB_SOURCE_BOOL) += system.dtb
This is not needed as you cover this with the assignmnet to clean-files later in this file.
> +
> +$(obj)/system.dtb: $(DTB_SRC) FORCE
> + $(call cmd,dtc)
> +
> +# Ensure system.dtb exists
> +$(obj)/linked_dtb.o: $(obj)/system.dtb
> +
> +obj-$(CONFIG_NIOS2_DTB_SOURCE_BOOL) += linked_dtb.o
> +
> +targets += $(dtb-y)
> +
> +# Rule to build device tree blobs with make command
> +$(obj)/%.dtb: $(src)/dts/%.dts FORCE
> + $(call if_changed_dep,dtc)
> +
> +$(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y))
> +
> +clean-files := *.dtb
> +
> +install:
> + sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)"
The install.sh script is not included (or I did not find it).
> diff --git a/arch/nios2/include/asm/Kbuild b/arch/nios2/include/asm/Kbuild
> new file mode 100644
> index 0000000..dfe7a79
> --- /dev/null
> +++ b/arch/nios2/include/asm/Kbuild
> @@ -0,0 +1,67 @@
> +include include/asm-generic/Kbuild.asm
The above include is wrong - please drop it.
> +header-y += ucontext.h
> +header-y += traps.h
We no longer visit include/asm for exported hedaders.
So the two assignments above are not used.
You will likely move them to arch/nios2/include/uapi/asm/Kbuild to
let them be exported.
next prev parent reply other threads:[~2014-07-17 9:35 UTC|newest]
Thread overview: 143+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-15 8:45 [PATCH v2 00/29] nios2 Linux kernel port Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 01/29] nios2: Assembly macros and definitions Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 02/29] nios2: Kernel booting and initialization Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-30 9:12 ` Tobias Klauser
2014-07-30 10:58 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 03/29] nios2: Exception handling Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 04/29] nios2: Traps exception handling Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 05/29] nios2: Memory management Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-28 14:59 ` Geert Uytterhoeven
2014-07-30 6:42 ` Ley Foon Tan
2014-07-30 6:42 ` Ley Foon Tan
2014-07-30 8:18 ` Geert Uytterhoeven
2014-07-30 8:57 ` Tobias Klauser
2014-07-30 10:52 ` Ley Foon Tan
2014-07-30 9:01 ` Tobias Klauser
2014-07-30 10:50 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 06/29] nios2: I/O Mapping Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 9:22 ` Arnd Bergmann
2014-07-15 10:51 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 07/29] nios2: MMU Fault handling Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 08/29] nios2: Page table management Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 09/29] nios2: Process management Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 10/29] nios2: Cache handling Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 11/29] nios2: TLB handling Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 12/29] nios2: Interrupt handling Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 9:27 ` Arnd Bergmann
2014-07-17 6:15 ` Ley Foon Tan
2014-07-17 9:24 ` Arnd Bergmann
2014-07-17 10:48 ` Ley Foon Tan
2014-07-15 9:51 ` Thomas Gleixner
2014-07-17 6:33 ` Ley Foon Tan
2014-07-17 13:58 ` Thomas Gleixner
2014-07-18 6:55 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 13/29] nios2: DMA mapping API Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 9:38 ` Arnd Bergmann
2014-07-24 11:37 ` Ley Foon Tan
2014-07-24 12:05 ` Arnd Bergmann
2014-07-28 15:48 ` rkuo
2014-07-30 3:42 ` Ley Foon Tan
2014-07-30 12:56 ` James Bottomley
2014-07-15 8:45 ` [PATCH v2 14/29] nios2: ELF definitions Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 15/29] nios2: System calls handling Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-18 12:56 ` James Hogan
2014-07-18 12:56 ` James Hogan
2014-07-21 11:17 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 16/29] nios2: Signal handling support Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-18 8:04 ` Richard Weinberger
2014-08-08 7:21 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 17/29] nios2: Library functions Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 18/29] nios2: Device tree support Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 9:41 ` Arnd Bergmann
2014-07-15 10:02 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 19/29] nios2: Time keeping Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 9:45 ` Arnd Bergmann
2014-07-21 10:07 ` Ley Foon Tan
2014-07-21 10:51 ` Arnd Bergmann
2014-07-21 11:10 ` Ley Foon Tan
2014-07-15 10:00 ` Thomas Gleixner
2014-07-21 11:09 ` Ley Foon Tan
2014-07-21 12:35 ` Thomas Gleixner
2014-07-15 8:45 ` [PATCH v2 20/29] nios2: Cpuinfo handling Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 9:47 ` Arnd Bergmann
2014-07-18 2:43 ` Ley Foon Tan
2014-08-07 5:06 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 21/29] nios2: Futex operations Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 10:03 ` Thomas Gleixner
2014-07-17 10:55 ` Ley Foon Tan
2014-07-17 11:07 ` Arnd Bergmann
2014-07-18 6:07 ` Ley Foon Tan
2014-07-18 9:09 ` Arnd Bergmann
2014-07-18 9:42 ` Thomas Gleixner
2014-07-18 9:55 ` Arnd Bergmann
2014-07-21 3:20 ` Ley Foon Tan
2014-07-21 8:01 ` Arnd Bergmann
2014-07-21 10:24 ` Ley Foon Tan
2014-08-05 8:49 ` Geert Uytterhoeven
2014-07-15 8:45 ` [PATCH v2 22/29] nios2: Miscellaneous header files Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 10:22 ` Arnd Bergmann
2014-07-15 11:03 ` Chung-Lin Tang
2014-07-15 11:03 ` Chung-Lin Tang
2014-07-15 12:27 ` Arnd Bergmann
2014-07-18 6:15 ` Chung-Lin Tang
2014-07-18 6:15 ` Chung-Lin Tang
2014-07-18 9:18 ` Arnd Bergmann
2014-07-16 7:03 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 23/29] nios2: Nios2 registers Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 24/29] nios2: Module support Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 10:24 ` Arnd Bergmann
2014-07-15 11:12 ` Tobias Klauser
2014-07-15 12:21 ` Arnd Bergmann
2014-07-16 1:36 ` LF.Tan
2014-07-16 1:32 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 25/29] nios2: ptrace support Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 26/29] Add ELF machine define for Nios2 Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 9:04 ` Tobias Klauser
2014-07-15 9:40 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 27/29] MAINTAINERS: Add nios2 maintainer Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 11:10 ` Joe Perches
2014-07-16 1:08 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 28/29] Documentation: Add documentation for Nios2 architecture Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-15 8:45 ` [PATCH v2 29/29] nios2: Build infrastructure Ley Foon Tan
2014-07-15 8:45 ` Ley Foon Tan
2014-07-16 19:50 ` Paul Bolle
2014-07-17 9:35 ` Sam Ravnborg [this message]
2014-07-15 9:08 ` [PATCH v2 00/29] nios2 Linux kernel port Tobias Klauser
2014-07-15 9:38 ` Ley Foon Tan
2014-07-15 11:15 ` Tobias Klauser
2014-07-16 1:21 ` Ley Foon Tan
2014-07-15 13:16 ` David Howells
2014-07-15 13:19 ` Richard Weinberger
2014-07-15 14:20 ` David Howells
2014-07-15 20:27 ` Richard Weinberger
2014-07-15 22:36 ` David Howells
2014-07-15 22:45 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140717093514.GA15755@ravnborg.org \
--to=sam@ravnborg.org \
--cc=cltang@codesourcery.com \
--cc=lftan.linux@gmail.com \
--cc=lftan@altera.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.