sec_pmsg.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef __INTERNAL__SEC_PMSG_H__
  2. #define __INTERNAL__SEC_PMSG_H__
  3. #include <linux/of_reserved_mem.h>
  4. #include <linux/samsung/builder_pattern.h>
  5. #define MAX_BUFFER_SIZE 1024
  6. struct ss_pmsg_log_header_t {
  7. uint8_t magic;
  8. uint16_t len;
  9. uint16_t uid;
  10. uint16_t pid;
  11. } __attribute__((__packed__));
  12. struct ss_android_log_header_t {
  13. unsigned char id;
  14. uint16_t tid;
  15. int32_t tv_sec;
  16. int32_t tv_nsec;
  17. } __attribute__((__packed__));
  18. struct pmsg_logger {
  19. uint16_t len;
  20. uint16_t id;
  21. uint16_t pid;
  22. uint16_t tid;
  23. uint16_t uid;
  24. uint16_t level;
  25. int32_t tv_sec;
  26. int32_t tv_nsec;
  27. union {
  28. char msg[0];
  29. char __msg; /* 1 byte reserved area for 'unsigned char' request from user */
  30. };
  31. };
  32. struct pmsg_buffer {
  33. char buffer[MAX_BUFFER_SIZE];
  34. };
  35. struct pmsg_drvdata {
  36. struct builder bd;
  37. struct reserved_mem *rmem;
  38. phys_addr_t paddr;
  39. size_t size;
  40. bool nomap;
  41. struct pstore_info *pstore;
  42. struct pmsg_logger *logger;
  43. struct pmsg_buffer __percpu *buf;
  44. };
  45. struct logger_level_header_ctx {
  46. int cpu;
  47. const char *comm;
  48. u64 tv_kernel;
  49. char *buffer;
  50. size_t count;
  51. };
  52. #endif /* __INTERNAL__SEC_PMSG_H__ */