mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 05:48:40 +00:00
![Christoph Hellwig](/assets/img/avatar_default.png)
ia64 currently organizes the iommu probing along machves, which isn't very helpful. Instead just try to probe for Intel IOMMUs in mem_init as they are properly described in ACPI and if none was found initialize the swiotlb buffer. The HP SBA handling is then only done delayed when the actual hardware is probed. Only in the case that we actually found usable IOMMUs we then set up the DMA ops and free the not needed swiotlb buffer. This scheme gets rid of the need for the dma_init machvec operation, and the dig_vtd machvec. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lkml.kernel.org/r/20190813072514.23299-24-hch@lst.de Signed-off-by: Tony Luck <tony.luck@intel.com>
100 lines
2.9 KiB
Makefile
100 lines
2.9 KiB
Makefile
#
|
|
# ia64/Makefile
|
|
#
|
|
# This file is included by the global makefile so that you can add your own
|
|
# architecture-specific flags and dependencies.
|
|
#
|
|
# 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) 1998-2004 by David Mosberger-Tang <davidm@hpl.hp.com>
|
|
#
|
|
|
|
KBUILD_DEFCONFIG := generic_defconfig
|
|
|
|
NM := $(CROSS_COMPILE)nm -B
|
|
READELF := $(CROSS_COMPILE)readelf
|
|
|
|
CHECKFLAGS += -D__ia64=1 -D__ia64__=1 -D_LP64 -D__LP64__
|
|
|
|
OBJCOPYFLAGS := --strip-all
|
|
LDFLAGS_vmlinux := -static
|
|
KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/ia64/module.lds
|
|
KBUILD_AFLAGS_KERNEL := -mconstant-gp
|
|
EXTRA :=
|
|
|
|
cflags-y := -pipe $(EXTRA) -ffixed-r13 -mfixed-range=f12-f15,f32-f127 \
|
|
-falign-functions=32 -frename-registers -fno-optimize-sibling-calls
|
|
KBUILD_CFLAGS_KERNEL := -mconstant-gp
|
|
|
|
GAS_STATUS = $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)")
|
|
KBUILD_CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)")
|
|
|
|
ifeq ($(GAS_STATUS),buggy)
|
|
$(error Sorry, you need a newer version of the assember, one that is built from \
|
|
a source-tree that post-dates 18-Dec-2002. You can find a pre-compiled \
|
|
static binary of such an assembler at: \
|
|
\
|
|
ftp://ftp.hpl.hp.com/pub/linux-ia64/gas-030124.tar.gz)
|
|
endif
|
|
|
|
quiet_cmd_gzip = GZIP $@
|
|
cmd_gzip = cat $(real-prereqs) | gzip -n -f -9 > $@
|
|
|
|
quiet_cmd_objcopy = OBJCOPY $@
|
|
cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
|
|
|
|
KBUILD_CFLAGS += $(cflags-y)
|
|
head-y := arch/ia64/kernel/head.o
|
|
|
|
libs-y += arch/ia64/lib/
|
|
core-y += arch/ia64/kernel/ arch/ia64/mm/
|
|
core-$(CONFIG_IA64_DIG) += arch/ia64/dig/
|
|
core-$(CONFIG_IA64_GENERIC) += arch/ia64/dig/
|
|
core-$(CONFIG_IA64_HP_ZX1) += arch/ia64/dig/
|
|
core-$(CONFIG_IA64_SGI_UV) += arch/ia64/uv/
|
|
|
|
drivers-y += arch/ia64/pci/
|
|
drivers-$(CONFIG_IA64_HP_ZX1) += arch/ia64/hp/common/ arch/ia64/hp/zx1/
|
|
drivers-$(CONFIG_IA64_GENERIC) += arch/ia64/hp/common/ arch/ia64/hp/zx1/ arch/ia64/uv/
|
|
drivers-$(CONFIG_OPROFILE) += arch/ia64/oprofile/
|
|
|
|
PHONY += compressed check
|
|
|
|
all: compressed unwcheck
|
|
|
|
compressed: vmlinux.gz
|
|
|
|
vmlinuz: vmlinux.gz
|
|
|
|
vmlinux.gz: vmlinux.bin FORCE
|
|
$(call if_changed,gzip)
|
|
|
|
vmlinux.bin: vmlinux FORCE
|
|
$(call if_changed,objcopy)
|
|
|
|
unwcheck: vmlinux
|
|
-$(Q)READELF=$(READELF) $(PYTHON) $(srctree)/arch/ia64/scripts/unwcheck.py $<
|
|
|
|
archclean:
|
|
|
|
archheaders:
|
|
$(Q)$(MAKE) $(build)=arch/ia64/kernel/syscalls all
|
|
|
|
CLEAN_FILES += vmlinux.gz
|
|
|
|
install: vmlinux.gz
|
|
sh $(srctree)/arch/ia64/install.sh $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)"
|
|
|
|
define archhelp
|
|
echo '* compressed - Build compressed kernel image'
|
|
echo ' install - Install compressed kernel image'
|
|
echo '* unwcheck - Check vmlinux for invalid unwind info'
|
|
endef
|
|
|
|
archprepare: make_nr_irqs_h
|
|
PHONY += make_nr_irqs_h
|
|
|
|
make_nr_irqs_h:
|
|
$(Q)$(MAKE) $(build)=arch/ia64/kernel include/generated/nr-irqs.h
|