FILE
papr-sysparm.h
File preview with syntax highlighting.
linux-6.19.14/arch/powerpc/include/asm/papr-sysparm.h
1/* SPDX-License-Identifier: GPL-2.0-only */ 2#ifndef _ASM_POWERPC_PAPR_SYSPARM_H 3#define _ASM_POWERPC_PAPR_SYSPARM_H 4 5#include <uapi/asm/papr-sysparm.h> 6 7typedef struct { 8 u32 token; 9} papr_sysparm_t; 10 11#define mk_papr_sysparm(x_) ((papr_sysparm_t){ .token = x_, }) 12 13/* 14 * Derived from the "Defined Parameters" table in PAPR 7.3.16 System 15 * Parameters Option. Where the spec says "characteristics", we use 16 * "attrs" in the symbolic names to keep them from getting too 17 * unwieldy. 18 */ 19#define PAPR_SYSPARM_SHARED_PROC_LPAR_ATTRS mk_papr_sysparm(20) 20#define PAPR_SYSPARM_PROC_MODULE_INFO mk_papr_sysparm(43) 21#define PAPR_SYSPARM_COOP_MEM_OVERCOMMIT_ATTRS mk_papr_sysparm(44) 22#define PAPR_SYSPARM_TLB_BLOCK_INVALIDATE_ATTRS mk_papr_sysparm(50) 23#define PAPR_SYSPARM_LPAR_NAME mk_papr_sysparm(55) 24#define PAPR_SYSPARM_HVPIPE_ENABLE mk_papr_sysparm(64) 25 26/** 27 * struct papr_sysparm_buf - RTAS work area layout for system parameter functions. 28 * 29 * This is the memory layout of the buffers passed to/from 30 * ibm,get-system-parameter and ibm,set-system-parameter. It is 31 * distinct from the papr_sysparm_io_block structure that is passed 32 * between user space and the kernel. 33 */ 34struct papr_sysparm_buf { 35 __be16 len; 36 u8 val[PAPR_SYSPARM_MAX_OUTPUT]; 37}; 38 39struct papr_sysparm_buf *papr_sysparm_buf_alloc(void); 40void papr_sysparm_buf_free(struct papr_sysparm_buf *buf); 41int papr_sysparm_set(papr_sysparm_t param, const struct papr_sysparm_buf *buf); 42int papr_sysparm_get(papr_sysparm_t param, struct papr_sysparm_buf *buf); 43 44#endif /* _ASM_POWERPC_PAPR_SYSPARM_H */
~/
Read-only file preview.