| #ifndef __PSTORE_INTERNAL_H__ |
| #define __PSTORE_INTERNAL_H__ |
| #include <linux/pstore.h> |
| #if NR_CPUS <= 2 && defined(CONFIG_ARM_THUMB) |
| #define PSTORE_CPU_IN_IP 0x1 |
| #elif NR_CPUS <= 4 && defined(CONFIG_ARM) |
| #define PSTORE_CPU_IN_IP 0x3 |
| struct pstore_ftrace_record { |
| pstore_ftrace_encode_cpu(struct pstore_ftrace_record *rec, unsigned int cpu) |
| static inline unsigned int |
| pstore_ftrace_decode_cpu(struct pstore_ftrace_record *rec) |
| return rec->ip & PSTORE_CPU_IN_IP; |
| #ifdef CONFIG_PSTORE_FTRACE |
| extern void pstore_register_ftrace(void); |
| static inline void pstore_register_ftrace(void) {} |
| extern struct pstore_info *psinfo; |
| extern void pstore_set_kmsg_bytes(int); |
| extern void pstore_get_records(int); |
| extern int pstore_mkfile(enum pstore_type_id, char *psname, u64 id, |
| struct timespec time, struct pstore_info *psi); |
| extern int pstore_is_mounted(void); |