arch/powerpc/platforms/pseries/rtas-fadump.h
Source file repositories/reference/linux-study-clean/arch/powerpc/platforms/pseries/rtas-fadump.h
File Facts
- System
- Linux kernel
- Corpus path
arch/powerpc/platforms/pseries/rtas-fadump.h- Extension
.h- Size
- 3611 bytes
- Lines
- 128
- Domain
- Architecture Layer
- Bucket
- arch/powerpc
- Inferred role
- Architecture Layer: implementation source
- Status
- source implementation candidate
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct rtas_fadump_sectionstruct rtas_fadump_section_headerstruct rtas_fadump_mem_structstruct rtas_fadump_reg_save_area_headerstruct rtas_fadump_reg_entry
Annotated Snippet
struct rtas_fadump_section {
__be32 request_flag;
__be16 source_data_type;
__be16 error_flags;
__be64 source_address;
__be64 source_len;
__be64 bytes_dumped;
__be64 destination_address;
};
/* ibm,configure-kernel-dump header. */
struct rtas_fadump_section_header {
__be32 dump_format_version;
__be16 dump_num_sections;
__be16 dump_status_flag;
__be32 offset_first_dump_section;
/* Fields for disk dump option. */
__be32 dd_block_size;
__be64 dd_block_offset;
__be64 dd_num_blocks;
__be32 dd_offset_disk_path;
/* Maximum time allowed to prevent an automatic dump-reboot. */
__be32 max_time_auto;
};
/*
* Firmware Assisted dump memory structure. This structure is required for
* registering future kernel dump with power firmware through rtas call.
*
* In version 1, the platform permits one section header, dump-disk path
* and ten sections.
*
* Note: No disk dump option. Hence disk dump path string section is not
* included.
*/
struct rtas_fadump_mem_struct {
struct rtas_fadump_section_header header;
struct rtas_fadump_section rgn[MAX_SECTIONS];
};
/*
* The firmware-assisted dump format.
*
* The register save area is an area in the partition's memory used to preserve
* the register contents (CPU state data) for the active CPUs during a firmware
* assisted dump. The dump format contains register save area header followed
* by register entries. Each list of registers for a CPU starts with "CPUSTRT"
* and ends with "CPUEND".
*/
/* Register save area header. */
struct rtas_fadump_reg_save_area_header {
__be64 magic_number;
__be32 version;
__be32 num_cpu_offset;
};
/* Register entry. */
struct rtas_fadump_reg_entry {
__be64 reg_id;
__be64 reg_value;
};
/* Utility macros */
#define RTAS_FADUMP_SKIP_TO_NEXT_CPU(reg_entry) \
({ \
while (be64_to_cpu(reg_entry->reg_id) != \
fadump_str_to_u64("CPUEND")) \
reg_entry++; \
reg_entry++; \
})
#define RTAS_FADUMP_CPU_ID_MASK ((1UL << 32) - 1)
#endif /* _PSERIES_RTAS_FADUMP_H */
Annotation
- Detected declarations: `struct rtas_fadump_section`, `struct rtas_fadump_section_header`, `struct rtas_fadump_mem_struct`, `struct rtas_fadump_reg_save_area_header`, `struct rtas_fadump_reg_entry`.
- Atlas domain: Architecture Layer / arch/powerpc.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.