1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright (C) 2010 Marco Stornelli <marco.stornelli@gmail.com> 4 * Copyright (C) 2011 Kees Cook <keescook@chromium.org> 5 * Copyright (C) 2011 Google, Inc. 6 */ 7 8 #ifndef __LINUX_PSTORE_RAM_H__ 9 #define __LINUX_PSTORE_RAM_H__ 10 11 #include <linux/pstore.h> 12 13 struct persistent_ram_ecc_info { 14 int block_size; 15 int ecc_size; 16 int symsize; 17 int poly; 18 uint16_t *par; 19 }; 20 21 /* 22 * Ramoops platform data 23 * @mem_size memory size for ramoops 24 * @mem_address physical memory address to contain ramoops 25 */ 26 27 #define RAMOOPS_FLAG_FTRACE_PER_CPU BIT(0) 28 29 struct ramoops_platform_data { 30 unsigned long mem_size; 31 phys_addr_t mem_address; 32 unsigned int mem_type; 33 unsigned long record_size; 34 unsigned long console_size; 35 unsigned long ftrace_size; 36 unsigned long pmsg_size; 37 int max_reason; 38 u32 flags; 39 struct persistent_ram_ecc_info ecc_info; 40 }; 41 42 #endif 43