linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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.


  parent reply	other threads:[~2014-07-17  9:35 UTC|newest]

Thread overview: 182+ 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  9:12     ` Tobias Klauser
2014-07-30 10:58     ` Ley Foon Tan
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-28 14:59     ` Geert Uytterhoeven
2014-07-30  6:42     ` Ley Foon Tan
2014-07-30  8:18       ` Geert Uytterhoeven
2014-07-30  8:18         ` Geert Uytterhoeven
2014-07-30  8:57         ` Tobias Klauser
2014-07-30  8:57           ` Tobias Klauser
2014-07-30 10:52           ` Ley Foon Tan
2014-07-30 10:52             ` Ley Foon Tan
2014-07-30  9:01   ` Tobias Klauser
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  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 ` [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-15  9:27     ` Arnd Bergmann
2014-07-17  6:15     ` Ley Foon Tan
2014-07-17  6:15       ` Ley Foon Tan
2014-07-17  9:24       ` Arnd Bergmann
2014-07-17  9:24         ` Arnd Bergmann
2014-07-17 10:48         ` Ley Foon Tan
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  6:33       ` Ley Foon Tan
2014-07-17 13:58       ` Thomas Gleixner
2014-07-17 13:58         ` Thomas Gleixner
2014-07-18  6:55         ` Ley Foon Tan
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  9:38   ` Arnd Bergmann
2014-07-24 11:37     ` Ley Foon Tan
2014-07-24 11:37       ` Ley Foon Tan
2014-07-24 12:05       ` Arnd Bergmann
2014-07-24 12:05         ` Arnd Bergmann
2014-07-28 15:48         ` rkuo
2014-07-30  3:42         ` Ley Foon Tan
2014-07-30  3:42           ` Ley Foon Tan
2014-07-30 12:56     ` James Bottomley
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 ` [PATCH v2 15/29] nios2: System calls handling Ley Foon Tan
2014-07-18 12:56   ` James Hogan
2014-07-21 11:17     ` Ley Foon Tan
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-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 ` [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 10:02       ` Ley Foon Tan
2014-07-15  8:45 ` [PATCH v2 19/29] nios2: Time keeping Ley Foon Tan
2014-07-15  9:45   ` Arnd Bergmann
2014-07-15  9:45     ` Arnd Bergmann
2014-07-21 10:07     ` Ley Foon Tan
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-21 11:10           ` Ley Foon Tan
2014-07-15 10:00   ` Thomas Gleixner
2014-07-21 11:09     ` Ley Foon Tan
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-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-15 10:03     ` Thomas Gleixner
2014-07-17 10:55     ` Ley Foon Tan
2014-07-17 11:07       ` Arnd Bergmann
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:42               ` Thomas Gleixner
2014-07-18  9:55               ` Arnd Bergmann
2014-07-21  3:20                 ` Ley Foon Tan
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 10:22     ` Arnd Bergmann
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-18  9:18             ` Arnd Bergmann
2014-07-16  7:03     ` Ley Foon Tan
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 10:24     ` Arnd Bergmann
2014-07-15 11:12     ` Tobias Klauser
2014-07-15 11:12       ` Tobias Klauser
2014-07-15 12:21       ` Arnd Bergmann
2014-07-15 12:21         ` Arnd Bergmann
2014-07-16  1:36         ` LF.Tan
2014-07-16  1:36           ` LF.Tan
2014-07-16  1:32     ` Ley Foon 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  9:04   ` Tobias Klauser
2014-07-15  9:04     ` Tobias Klauser
2014-07-15  9:40     ` Ley Foon Tan
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-16 19:50     ` Paul Bolle
2014-07-17  9:35   ` Sam Ravnborg [this message]
2014-07-17  9:35     ` Sam Ravnborg
2014-07-15  9:08 ` [PATCH v2 00/29] nios2 Linux kernel port Tobias Klauser
2014-07-15  9:08   ` Tobias Klauser
2014-07-15  9:38   ` Ley Foon Tan
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-16  1:21         ` Ley Foon Tan
2014-07-15 13:16 ` David Howells
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:36       ` David Howells
2014-07-15 22:45       ` Greg KH
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).