add support for profiling loongson2e
PATCH 1/1 add support for profiling loongson2e
2007/8/1, John Levon <[email protected]>:
Quoted 18 lines · Dajie Tan
drivers/oprofile/cpu_buffer.c add_sample(struct oprofile_cpu_buffer * cpu_buf, · line 154
Quoted 13 lines
drivers/oprofile/cpu_buffer.c +4
-0@@ -148,6 +148,10 @@ add_sample(struct oprofile_cpu_buffer * cpu_buf, unsigned long pc, unsigned long event) {struct op_sample * entry = &cpu_buf->buffer[cpu_buf->head_pos]; + +if (!entry) +return ; +Perhaps I wasn't clear. This change is unacceptable and must not be merged.
Quoted 2 lines
john
OK, this is the new revision.
Tan
Signed-off-by Dajie Tan <[email protected]>
--- arch/mips/lemote/lm2e/irq.c | 2 + arch/mips/oprofile/Makefile | 1 + arch/mips/oprofile/common.c | 6 + arch/mips/oprofile/op_model_loongson2e.c | 170 ++++++++++++++++++++++++++++++ include/asm-mips/mipsregs.h | 60 +++++++++++ 5 files changed, 239 insertions(+), 0 deletions(-)
arch/mips/lemote/lm2e/irq.c +2 -0
@@ -81,6 +81,8 @@ asmlinkage void plat_irq_dispatch(void)if (pending &CAUSEF_IP7 ) {do_IRQ (MIPS_CPU_IRQ_BASE +7 ); + }else if (pending &CAUSEF_IP6 ) {/* performance counter overflowe at IP6 */ +do_IRQ (MIPS_CPU_IRQ_BASE +6 ); }else if (pending &CAUSEF_IP5 ) {i8259_irqdispatch (); }else if (pending &CAUSEF_IP2 ) {
arch/mips/oprofile/Makefile +1 -0
@@ -15,3 +15,4 @@ oprofile-$(CONFIG_CPU_MIPS64) += op_model_mipsxx.o oprofile-$(CONFIG_CPU_R10000) += op_model_mipsxx.o oprofile-$(CONFIG_CPU_SB1) += op_model_mipsxx.o oprofile-$(CONFIG_CPU_RM9000) += op_model_rm9000.o +oprofile-$(CONFIG_CPU_LOONGSON2) += op_model_loongson2e.o
arch/mips/oprofile/common.c +6 -0
@@ -16,6 +16,7 @@ extern struct op_mips_model op_model_mipsxx_ops __attribute__((weak)); extern struct op_mips_model op_model_rm9000_ops __attribute__((weak)); +extern struct op_mips_model op_model_loongson2e_ops __attribute__((weak));static struct op_mips_model *model;
@@ -92,6 +93,11 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)case CPU_RM9000 : lmodel = &op_model_rm9000_ops;break ; + +case CPU_LOONGSON2 : + lmodel = &op_model_loongson2e_ops; +break ; + };if (!lmodel)
arch/mips/oprofile/op_model_loongson2e.c new file +170 -0
170 lines not on this page · raw message
include/asm-mips/mipsregs.h +60 -0
72 lines not on this page · raw message