/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef _ASM_POWERPC_PAPR_SYSPARM_H
#define _ASM_POWERPC_PAPR_SYSPARM_H

#include <uapi/asm/papr-sysparm.h>

typedef struct {
	u32 token;
} papr_sysparm_t;

#define mk_papr_sysparm(x_) ((papr_sysparm_t){ .token = x_, })

/*
 * Derived from the "Defined Parameters" table in PAPR 7.3.16 System
 * Parameters Option. Where the spec says "characteristics", we use
 * "attrs" in the symbolic names to keep them from getting too
 * unwieldy.
 */
#define PAPR_SYSPARM_SHARED_PROC_LPAR_ATTRS        mk_papr_sysparm(20)
#define PAPR_SYSPARM_PROC_MODULE_INFO              mk_papr_sysparm(43)
#define PAPR_SYSPARM_COOP_MEM_OVERCOMMIT_ATTRS     mk_papr_sysparm(44)
#define PAPR_SYSPARM_TLB_BLOCK_INVALIDATE_ATTRS    mk_papr_sysparm(50)
#define PAPR_SYSPARM_LPAR_NAME                     mk_papr_sysparm(55)

/**
 * struct papr_sysparm_buf - RTAS work area layout for system parameter functions.
 *
 * This is the memory layout of the buffers passed to/from
 * ibm,get-system-parameter and ibm,set-system-parameter. It is
 * distinct from the papr_sysparm_io_block structure that is passed
 * between user space and the kernel.
 */
struct papr_sysparm_buf {
	__be16 len;
	char val[PAPR_SYSPARM_MAX_OUTPUT];
};

struct papr_sysparm_buf *papr_sysparm_buf_alloc(void);
void papr_sysparm_buf_free(struct papr_sysparm_buf *buf);
int papr_sysparm_set(papr_sysparm_t param, const struct papr_sysparm_buf *buf);
int papr_sysparm_get(papr_sysparm_t param, struct papr_sysparm_buf *buf);

#endif /* _ASM_POWERPC_PAPR_SYSPARM_H */
