diff options
Diffstat (limited to 'kernel/trace/trace.c')
-rw-r--r-- | kernel/trace/trace.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 9ade79369bfb..4a875600733b 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -848,6 +848,48 @@ ftrace(struct trace_array *tr, struct trace_array_cpu *data, | |||
848 | trace_function(tr, data, ip, parent_ip, flags); | 848 | trace_function(tr, data, ip, parent_ip, flags); |
849 | } | 849 | } |
850 | 850 | ||
851 | #ifdef CONFIG_MMIOTRACE | ||
852 | void __trace_mmiotrace_rw(struct trace_array *tr, struct trace_array_cpu *data, | ||
853 | struct mmiotrace_rw *rw) | ||
854 | { | ||
855 | struct trace_entry *entry; | ||
856 | unsigned long irq_flags; | ||
857 | |||
858 | raw_local_irq_save(irq_flags); | ||
859 | __raw_spin_lock(&data->lock); | ||
860 | |||
861 | entry = tracing_get_trace_entry(tr, data); | ||
862 | tracing_generic_entry_update(entry, 0); | ||
863 | entry->type = TRACE_MMIO_RW; | ||
864 | entry->mmiorw = *rw; | ||
865 | |||
866 | __raw_spin_unlock(&data->lock); | ||
867 | raw_local_irq_restore(irq_flags); | ||
868 | |||
869 | trace_wake_up(); | ||
870 | } | ||
871 | |||
872 | void __trace_mmiotrace_map(struct trace_array *tr, struct trace_array_cpu *data, | ||
873 | struct mmiotrace_map *map) | ||
874 | { | ||
875 | struct trace_entry *entry; | ||
876 | unsigned long irq_flags; | ||
877 | |||
878 | raw_local_irq_save(irq_flags); | ||
879 | __raw_spin_lock(&data->lock); | ||
880 | |||
881 | entry = tracing_get_trace_entry(tr, data); | ||
882 | tracing_generic_entry_update(entry, 0); | ||
883 | entry->type = TRACE_MMIO_MAP; | ||
884 | entry->mmiomap = *map; | ||
885 | |||
886 | __raw_spin_unlock(&data->lock); | ||
887 | raw_local_irq_restore(irq_flags); | ||
888 | |||
889 | trace_wake_up(); | ||
890 | } | ||
891 | #endif | ||
892 | |||
851 | void __trace_stack(struct trace_array *tr, | 893 | void __trace_stack(struct trace_array *tr, |
852 | struct trace_array_cpu *data, | 894 | struct trace_array_cpu *data, |
853 | unsigned long flags, | 895 | unsigned long flags, |