powerpc/pseries: Generalize hcall_vphn()
[linux-2.6-block.git] / arch / powerpc / mm / book3s64 / vphn.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
4b6cfb2a
GK
2#ifndef _ARCH_POWERPC_MM_VPHN_H_
3#define _ARCH_POWERPC_MM_VPHN_H_
4
47d99948 5/* The H_HOME_NODE_ASSOCIATIVITY h_call returns 6 64-bit registers. */
4b6cfb2a
GK
6#define VPHN_REGISTER_COUNT 6
7
8/*
3338a65b
GK
9 * 6 64-bit registers unpacked into up to 24 be32 associativity values. To
10 * form the complete property we have to add the length in the first cell.
4b6cfb2a 11 */
3338a65b 12#define VPHN_ASSOC_BUFSIZE (VPHN_REGISTER_COUNT*sizeof(u64)/sizeof(u16) + 1)
4b6cfb2a 13
ef34e0ef
NR
14/*
15 * The H_HOME_NODE_ASSOCIATIVITY hcall takes two values for flags:
16 * 1 for retrieving associativity information for a guest cpu
17 * 2 for retrieving associativity information for a host/hypervisor cpu
18 */
19#define VPHN_FLAG_VCPU 1
20#define VPHN_FLAG_PCPU 2
21
4b6cfb2a
GK
22extern int vphn_unpack_associativity(const long *packed, __be32 *unpacked);
23
24#endif