19c92ab61SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 2cddb8751SAnton Vorontsov /* 3cddb8751SAnton Vorontsov * Copyright (C) 2010 Marco Stornelli <[email protected]> 4cddb8751SAnton Vorontsov * Copyright (C) 2011 Kees Cook <[email protected]> 5cddb8751SAnton Vorontsov * Copyright (C) 2011 Google, Inc. 6cddb8751SAnton Vorontsov */ 7cddb8751SAnton Vorontsov 81894a253SAnton Vorontsov #ifndef __LINUX_PSTORE_RAM_H__ 91894a253SAnton Vorontsov #define __LINUX_PSTORE_RAM_H__ 101894a253SAnton Vorontsov 11f0f23e54SJoel Fernandes (Google) #include <linux/pstore.h> 12cddb8751SAnton Vorontsov 13c31ad081SArve Hjønnevåg struct persistent_ram_ecc_info { 14c31ad081SArve Hjønnevåg int block_size; 15c31ad081SArve Hjønnevåg int ecc_size; 16c31ad081SArve Hjønnevåg int symsize; 17c31ad081SArve Hjønnevåg int poly; 18f2531f19SKees Cook uint16_t *par; 19c31ad081SArve Hjønnevåg }; 20c31ad081SArve Hjønnevåg 211894a253SAnton Vorontsov /* 221894a253SAnton Vorontsov * Ramoops platform data 231894a253SAnton Vorontsov * @mem_size memory size for ramoops 241894a253SAnton Vorontsov * @mem_address physical memory address to contain ramoops 251894a253SAnton Vorontsov */ 261894a253SAnton Vorontsov 27a1cf53acSJoel Fernandes #define RAMOOPS_FLAG_FTRACE_PER_CPU BIT(0) 28a1cf53acSJoel Fernandes 291894a253SAnton Vorontsov struct ramoops_platform_data { 301894a253SAnton Vorontsov unsigned long mem_size; 31764fd639SWiebe, Wladislav (Nokia - DE/Ulm) phys_addr_t mem_address; 32027bc8b0STony Lindgren unsigned int mem_type; 331894a253SAnton Vorontsov unsigned long record_size; 34b5d38e9bSAnton Vorontsov unsigned long console_size; 35a694d1b5SAnton Vorontsov unsigned long ftrace_size; 369d5438f4SMark Salyzyn unsigned long pmsg_size; 37*791205e3SKees Cook int max_reason; 38a1cf53acSJoel Fernandes u32 flags; 39c31ad081SArve Hjønnevåg struct persistent_ram_ecc_info ecc_info; 401894a253SAnton Vorontsov }; 411894a253SAnton Vorontsov 421894a253SAnton Vorontsov #endif 43