linux-yocto/arch/alpha/Makefile
Arnd Bergmann a4184174be alpha: drop pre-EV56 support
All EV4 machines are already gone, and the remaining EV5 based machines
all support the slightly more modern EV56 generation as well.
Debian only supports EV56 and later.

Drop both of these and build kernels optimized for EV56 and higher
when the "generic" options is selected, tuning for an out-of-order
EV6 pipeline, same as Debian userspace.

Since this was the only supported architecture without 8-bit and
16-bit stores, common kernel code no longer has to worry about
aligning struct members, and existing workarounds from the block
and tty layers can be removed.

The alpha memory management code no longer needs an abstraction
for the differences between EV4 and EV5+.

Link: https://lists.debian.org/debian-alpha/2023/05/msg00009.html
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Acked-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-06 12:05:00 +02:00

1.8 KiB

alpha/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.

Copyright (C) 1994 by Linus Torvalds

NM := $(NM) -B

LDFLAGS_vmlinux := -static -N #-relax CHECKFLAGS += -D__alpha__ cflags-y := -pipe -mno-fp-regs -ffixed-8 cflags-y += $(call cc-option, -fno-jump-tables)

cpuflags-$(CONFIG_ALPHA_EV56) := -mcpu=ev56 cpuflags-$(CONFIG_ALPHA_POLARIS) := -mcpu=pca56 cpuflags-$(CONFIG_ALPHA_SX164) := -mcpu=pca56 cpuflags-$(CONFIG_ALPHA_EV6) := -mcpu=ev6 cpuflags-$(CONFIG_ALPHA_EV67) := -mcpu=ev67

If GENERIC, make sure to turn off any instruction set extensions that

the host compiler might have on by default.

cpuflags-$(CONFIG_ALPHA_GENERIC) := -mcpu=ev56 -mtune=ev6

cflags-y += $(cpuflags-y)

For TSUNAMI, we must have the assembler not emulate our instructions.

The same is true for IRONGATE, POLARIS, PYXIS.

BWX is most important, but we don't really want any emulation ever.

KBUILD_CFLAGS += $(cflags-y) -Wa,-mev6

libs-y += arch/alpha/lib/

export what is needed by arch/alpha/boot/Makefile

LIBS_Y := $(patsubst %/, %/lib.a, $(libs-y)) export LIBS_Y

boot := arch/alpha/boot

#Default target when executing make with no arguments all boot: $(boot)/vmlinux.gz

$(boot)/vmlinux.gz: vmlinux $(Q)$(MAKE) $(build)=$(boot) $@

bootimage bootpfile bootpzfile: vmlinux $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@

archheaders: $(Q)$(MAKE) $(build)=arch/alpha/kernel/syscalls all

define archhelp echo '* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)' echo ' bootimage - SRM bootable image (arch/alpha/boot/bootimage)' echo ' bootpfile - BOOTP bootable image (arch/alpha/boot/bootpfile)' echo ' bootpzfile - compressed kernel BOOTP image (arch/alpha/boot/bootpzfile)' endef