mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 21:02:19 +00:00
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
|