Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

microblaze: Core oprofile configs and hooks

Microblaze uses timer interrupt mode. Microblaze don't have
any performance counter that's why we use just simple implementation.

Signed-off-by: John Williams <john.williams@petalogix.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>

authored by

John Williams and committed by
Michal Simek
3540ce82 33d9ff59

+39
+2
arch/microblaze/Kconfig
··· 13 13 select HAVE_FTRACE_MCOUNT_RECORD 14 14 select USB_ARCH_HAS_EHCI 15 15 select ARCH_WANT_OPTIONAL_GPIOLIB 16 + select HAVE_OPROFILE 17 + select TRACING_SUPPORT 16 18 17 19 config SWAP 18 20 def_bool n
+2
arch/microblaze/Makefile
··· 51 51 core-y += arch/microblaze/mm/ 52 52 core-y += arch/microblaze/platform/ 53 53 54 + drivers-$(CONFIG_OPROFILE) += arch/microblaze/oprofile/ 55 + 54 56 boot := arch/microblaze/boot 55 57 56 58 # Are we making a simpleImage.<boardname> target? If so, crack out the boardname
+13
arch/microblaze/oprofile/Makefile
··· 1 + # 2 + # arch/microblaze/oprofile/Makefile 3 + # 4 + 5 + obj-$(CONFIG_OPROFILE) += oprofile.o 6 + 7 + DRIVER_OBJS := $(addprefix ../../../drivers/oprofile/, \ 8 + oprof.o cpu_buffer.o buffer_sync.o \ 9 + event_buffer.o oprofile_files.o \ 10 + oprofilefs.o oprofile_stats.o \ 11 + timer_int.o ) 12 + 13 + oprofile-y := $(DRIVER_OBJS) microblaze_oprofile.o
+22
arch/microblaze/oprofile/microblaze_oprofile.c
··· 1 + /* 2 + * Microblaze oprofile code 3 + * 4 + * Copyright (C) 2009 Michal Simek <monstr@monstr.eu> 5 + * Copyright (C) 2009 PetaLogix 6 + * 7 + * This file is subject to the terms and conditions of the GNU General Public 8 + * License. See the file "COPYING" in the main directory of this archive 9 + * for more details. 10 + */ 11 + 12 + #include <linux/oprofile.h> 13 + #include <linux/init.h> 14 + 15 + int __init oprofile_arch_init(struct oprofile_operations *ops) 16 + { 17 + return -1; 18 + } 19 + 20 + void oprofile_arch_exit(void) 21 + { 22 + }