forked from Minki/linux
00e6c92304
Add OProfile support for metag, using the perf backend, and falling back to generic timer based sampling if perf counter interrupt support is disabled. The oprofile code prepends "metag/" to the perf pmu name to give "metag/meta2" which is more consistent with other oprofile arch names. The backtrace code makes use of <asm/stacktrace.h> for kernel backtracing, and a simple frame pointer walk for userland backtracing. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Robert Richter <rric@kernel.org> Cc: oprofile-list@lists.sf.net
90 lines
2.5 KiB
Makefile
90 lines
2.5 KiB
Makefile
#
|
|
# metag/Makefile
|
|
#
|
|
# 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.
|
|
#
|
|
# 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
|
|
# 2007,2008,2012 by Imagination Technologies Ltd.
|
|
#
|
|
|
|
LDFLAGS :=
|
|
OBJCOPYFLAGS := -O binary -R .note -R .comment -S
|
|
|
|
checkflags-$(CONFIG_METAG_META12) += -DMETAC_1_2
|
|
checkflags-$(CONFIG_METAG_META21) += -DMETAC_2_1
|
|
CHECKFLAGS += -D__metag__ $(checkflags-y)
|
|
|
|
KBUILD_DEFCONFIG := meta2_defconfig
|
|
|
|
sflags-$(CONFIG_METAG_META12) += -mmetac=1.2
|
|
ifeq ($(CONFIG_METAG_META12),y)
|
|
# Only use TBI API 1.4 if DSP is enabled for META12 cores
|
|
sflags-$(CONFIG_METAG_DSP) += -DTBI_1_4
|
|
endif
|
|
sflags-$(CONFIG_METAG_META21) += -mmetac=2.1 -DTBI_1_4
|
|
|
|
cflags-$(CONFIG_METAG_FUNCTION_TRACE) += -mhwtrace-leaf -mhwtrace-retpc
|
|
cflags-$(CONFIG_METAG_META21) += -mextensions=bex
|
|
|
|
KBUILD_CFLAGS += -pipe
|
|
KBUILD_CFLAGS += -ffunction-sections
|
|
|
|
KBUILD_CFLAGS += $(sflags-y) $(cflags-y)
|
|
KBUILD_AFLAGS += $(sflags-y)
|
|
|
|
LDFLAGS_vmlinux := $(ldflags-y)
|
|
|
|
head-y := arch/metag/kernel/head.o
|
|
|
|
core-y += arch/metag/boot/dts/
|
|
core-y += arch/metag/kernel/
|
|
core-y += arch/metag/mm/
|
|
|
|
libs-y += arch/metag/lib/
|
|
libs-y += arch/metag/tbx/
|
|
|
|
drivers-$(CONFIG_OPROFILE) += arch/metag/oprofile/
|
|
|
|
boot := arch/metag/boot
|
|
|
|
boot_targets += uImage
|
|
boot_targets += uImage.gz
|
|
boot_targets += uImage.bz2
|
|
boot_targets += uImage.xz
|
|
boot_targets += uImage.lzo
|
|
boot_targets += uImage.bin
|
|
boot_targets += vmlinux.bin
|
|
|
|
PHONY += $(boot_targets)
|
|
|
|
all: vmlinux.bin
|
|
|
|
$(boot_targets): vmlinux
|
|
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
|
|
|
|
%.dtb %.dtb.S %.dtb.o: scripts
|
|
$(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@
|
|
|
|
dtbs: scripts
|
|
$(Q)$(MAKE) $(build)=$(boot)/dts dtbs
|
|
|
|
archclean:
|
|
$(Q)$(MAKE) $(clean)=$(boot)
|
|
|
|
define archhelp
|
|
echo '* vmlinux.bin - Binary kernel image (arch/$(ARCH)/boot/vmlinux.bin)'
|
|
@echo ' uImage - Alias to bootable U-Boot image'
|
|
@echo ' uImage.bin - Kernel-only image for U-Boot (bin)'
|
|
@echo ' uImage.gz - Kernel-only image for U-Boot (gzip)'
|
|
@echo ' uImage.bz2 - Kernel-only image for U-Boot (bzip2)'
|
|
@echo ' uImage.xz - Kernel-only image for U-Boot (xz)'
|
|
@echo ' uImage.lzo - Kernel-only image for U-Boot (lzo)'
|
|
@echo ' dtbs - Build device tree blobs for enabled boards'
|
|
endef
|