1 /*
2  * Hypervisor-assisted dump
3  *
4  * Linas Vepstas, Manish Ahuja 2008
5  * Copyright 2008 IBM Corp.
6  *
7  *      This program is free software; you can redistribute it and/or
8  *      modify it under the terms of the GNU General Public License
9  *      as published by the Free Software Foundation; either version
10  *      2 of the License, or (at your option) any later version.
11  */
12 
13 #ifndef _PPC64_PHYP_DUMP_H
14 #define _PPC64_PHYP_DUMP_H
15 
16 #ifdef CONFIG_PHYP_DUMP
17 
18 /* The RMR region will be saved for later dumping
19  * whenever the kernel crashes. Set this to 256MB. */
20 #define PHYP_DUMP_RMR_START 0x0
21 #define PHYP_DUMP_RMR_END   (1UL<<28)
22 
23 struct phyp_dump {
24 	/* Memory that is reserved during very early boot. */
25 	unsigned long init_reserve_start;
26 	unsigned long init_reserve_size;
27 	/* cmd line options during boot */
28 	unsigned long reserve_bootvar;
29 	unsigned long phyp_dump_at_boot;
30 	/* Check status during boot if dump supported, active & present*/
31 	unsigned long phyp_dump_configured;
32 	unsigned long phyp_dump_is_active;
33 	/* store cpu & hpte size */
34 	unsigned long cpu_state_size;
35 	unsigned long hpte_region_size;
36 	/* previous scratch area values */
37 	unsigned long reserved_scratch_addr;
38 	unsigned long reserved_scratch_size;
39 };
40 
41 extern struct phyp_dump *phyp_dump_info;
42 
43 int early_init_dt_scan_phyp_dump(unsigned long node,
44 		const char *uname, int depth, void *data);
45 
46 #endif /* CONFIG_PHYP_DUMP */
47 #endif /* _PPC64_PHYP_DUMP_H */
48