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 13struct 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 29struct 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