op_impl.h 823 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef __OP_IMPL_H
  2. #define __OP_IMPL_H
  3. /* Per-counter configuration as set via oprofilefs. */
  4. struct op_counter_config {
  5. unsigned long enabled;
  6. unsigned long event;
  7. unsigned long long count;
  8. /* Dummy values for userspace tool compliance */
  9. unsigned long kernel;
  10. unsigned long user;
  11. unsigned long unit_mask;
  12. };
  13. /* Per-architecture configury and hooks. */
  14. struct op_sh_model {
  15. void (*reg_setup)(struct op_counter_config *);
  16. int (*create_files)(struct super_block *sb, struct dentry *dir);
  17. void (*cpu_setup)(void *dummy);
  18. int (*init)(void);
  19. void (*exit)(void);
  20. void (*cpu_start)(void *args);
  21. void (*cpu_stop)(void *args);
  22. char *cpu_type;
  23. unsigned char num_counters;
  24. };
  25. /* arch/sh/oprofile/common.c */
  26. extern void sh_backtrace(struct pt_regs * const regs, unsigned int depth);
  27. #endif /* __OP_IMPL_H */