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