summaryrefslogtreecommitdiffstats
path: root/arch/openrisc/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* kbuild: remove head-y syntaxMasahiro Yamada2022-10-021-2/+0
| | | | | | | | | | | | | | | | | | | | | Kbuild puts the objects listed in head-y at the head of vmlinux. Conventionally, we do this for head*.S, which contains the kernel entry point. A counter approach is to control the section order by the linker script. Actually, the code marked as __HEAD goes into the ".head.text" section, which is placed before the normal ".text" section. I do not know if both of them are needed. From the build system perspective, head-y is not mandatory. If you can achieve the proper code placement by the linker script only, it would be cleaner. I collected the current head-y objects into head-object-list.txt. It is a whitelist. My hope is it will be reduced in the long run. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Tested-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
* openrisc: Add gcc machine instruction flag configurationStafford Horne2022-05-231-0/+17
| | | | | | | | | | | | | OpenRISC GCC supports flags to enable the backend to output instructions if they are supported by a target processor. This patch adds configuration flags to enable configuring these flags to tune the kernel for a particular CPU configuration. In the future we could also enable all of these flags by default and provide instruction emulation in the kernel to make these choices easier for users but this is what we provide for now. Signed-off-by: Stafford Horne <shorne@gmail.com>
* kbuild: use more subdir- for visiting subdirectories while cleaningMasahiro Yamada2021-10-241-6/+1
| | | | | | | | | | | | | | | | | | Documentation/kbuild/makefiles.rst suggests to use "archclean" for cleaning arch/$(SRCARCH)/boot/, but it is not a hard requirement. Since commit d92cc4d51643 ("kbuild: require all architectures to have arch/$(SRCARCH)/Kbuild"), we can use the "subdir- += boot" trick for all architectures. This can take advantage of the parallel option (-j) for "make clean". I also cleaned up the comments in arch/$(SRCARCH)/Makefile. The "archdep" target no longer exists. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Kees Cook <keescook@chromium.org> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
* kbuild: require all architectures to have arch/$(SRCARCH)/KbuildMasahiro Yamada2021-05-261-1/+0
| | | | | | | | | arch/$(SRCARCH)/Kbuild is useful for Makefile cleanups because you can use the obj-y syntax. Add an empty file if it is missing in arch/$(SRCARCH)/. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
* openrisc: add arch/openrisc/KbuildMasahiro Yamada2021-01-181-10/+1
| | | | | | | | | | | Describe the subdirectories under arch/openrisc/ in arch/openrisc/Kbuild so you can use the standard obj-y syntax. I removed the CONFIG_OPENRISC_BUILTIN_DTB conditional because it is already controlled by arch/openrisc/boot/dts/Makefile. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Stafford Horne <shorne@gmail.com>
* openrisc: Add vmlinux.bin targetJoel Stanley2021-01-011-0/+12
| | | | | | | | Build it by default. This is commonly used by fpga targets. Signed-off-by: Joel Stanley <joel@jms.id.au> Reviewed-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Stafford Horne <shorne@gmail.com>
* openrisc: remove unneeded code in arch/openrisc/MakefileMasahiro Yamada2019-01-171-3/+0
| | | | | | | | - LDFLAGS_vmlinux is cleared by the top Makefile - 'all: vmlinux' is specified by the top Makefile Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* kbuild: remove redundant LDFLAGS clearing in arch/*/MakefileMasahiro Yamada2018-07-191-1/+0
| | | | | | | | Since commit ce99d0bf312d ("kbuild: clear LDFLAGS in the top Makefile"), the top-level Makefile caters to this. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
* kbuild: add endianness flag to CHEKCFLAGSLuc Van Oostenryck2018-05-291-1/+0
| | | | | | | | | | | | | | | | The kernel depends on macros like __BYTE_ORDER__, __BIG_ENDIAN__ or __LITTLE_ENDIAN__. OTOH, sparse doesn't know about the endianness of the kernel and by default uses the same as the machine on which sparse was built. Ensure that sparse can predefine the macros corresponding to how the kernel was configured by adding -m{big,little}-endian to CHECKFLAGS in the main Makefile (and so for all archs). Also, remove the equivalent done in arch specific Makefiles. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* openrisc: pass endianness info to sparseLuc Van Oostenryck2017-11-031-0/+1
| | | | | | | | | | | | | | | | | openrisc is big-endian only but sparse assumes the same endianness as the building machine. This is problematic for code which expect __BYTE_ORDER__ being correctly predefined by the compiler which sparse can then pre-process differently from what gcc would, depending on the building machine endianness. Fix this by letting sparse know about the architecture endianness. To: Jonas Bonn <jonas@southpole.se> To: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> To: Stafford Horne <shorne@gmail.com> Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> Signed-off-by: Stafford Horne <shorne@gmail.com>
* openrisc: Makefile: append "-D__linux__" to KBUILD_CFLAGSChen Gang2013-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Need append "_D__linux__" to KBUILD_CFLAGS, just like some of another architectures have done, or 'allmodconfig' can not pass compiling. The related error: CC [M] fs/coda/psdev.o In file included from include/linux/coda.h:65:0, from fs/coda/psdev.c:45: include/uapi/linux/coda.h:221:2: error: expected specifier-qualifier-list before 'u_quad_t' The related compiler information: [root@dhcp122 ~]# /usr/local/bin/or32-linux-gcc -v Using built-in specs. COLLECT_GCC=/usr/local/bin/or32-linux-gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/or32-linux/4.5.1-or32-1.0rc1/lto-wrapper Target: or32-linux Configured with: ../gcc-openrisc/configure --target=or32-linux --disable-nls --enable-languages=c --without-headers --disable-shared --disable-threads --enable-werror=no Thread model: single gcc version 4.5.1-or32-1.0rc1 (GCC) Signed-off-by: Chen Gang <gang.chen@asianux.com> Signed-off-by: Jonas Bonn <jonas@southpole.se>
* openrisc: use new common dtc ruleStephen Warren2012-12-031-1/+1
| | | | | | | | | | | | | | | The current rules have the .dtb files build in a different directory from the .dts files. This patch changes openrisc to use the generic dtb rule which builds .dtb files in the same directory as the source .dts. This requires renaming arch/openrisc/boot/Makefile to arch/openrisc/boot/dts/Makefile, and updating arch/openrisc/Makefile to call the new Makefile. Cc: Jonas Bonn <jonas@southpole.se> Cc: linux@lists.openrisc.net Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
* openrisc: Use generic init_taskThomas Gleixner2012-05-051-1/+1
| | | | | | | | | | Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Jonas Bonn <jonas@southpole.se> Link: http://lkml.kernel.org/r/20120503085035.083343435@linutronix.de
* OpenRISC: Build infrastructureJonas Bonn2011-07-221-0/+55
Signed-off-by: Jonas Bonn <jonas@southpole.se> Reviewed-by: Arnd Bergmann <arnd@arndb.de>