powerpc/powernv: Introduce FW_FEATURE_ULTRAVISOR
In PEF enabled systems, some of the resources which were previously hypervisor privileged are now ultravisor privileged and controlled by the ultravisor firmware. This adds FW_FEATURE_ULTRAVISOR to indicate if PEF is enabled. The host kernel can use FW_FEATURE_ULTRAVISOR, for instance, to skip accessing resources (e.g. PTCR and LDBAR) in case PEF is enabled. Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com> [ andmike: Device node name to "ibm,ultravisor" ] Signed-off-by: Michael Anderson <andmike@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20190822034838.27876-4-cclaudio@linux.ibm.com
This commit is contained in:

committed by
Michael Ellerman

parent
a49dddbdb0
commit
bb04ffe85e
@@ -50,6 +50,7 @@
|
||||
#define FW_FEATURE_DRC_INFO ASM_CONST(0x0000000800000000)
|
||||
#define FW_FEATURE_BLOCK_REMOVE ASM_CONST(0x0000001000000000)
|
||||
#define FW_FEATURE_PAPR_SCM ASM_CONST(0x0000002000000000)
|
||||
#define FW_FEATURE_ULTRAVISOR ASM_CONST(0x0000004000000000)
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
@@ -68,9 +69,9 @@ enum {
|
||||
FW_FEATURE_TYPE1_AFFINITY | FW_FEATURE_PRRN |
|
||||
FW_FEATURE_HPT_RESIZE | FW_FEATURE_DRMEM_V2 |
|
||||
FW_FEATURE_DRC_INFO | FW_FEATURE_BLOCK_REMOVE |
|
||||
FW_FEATURE_PAPR_SCM,
|
||||
FW_FEATURE_PAPR_SCM | FW_FEATURE_ULTRAVISOR,
|
||||
FW_FEATURE_PSERIES_ALWAYS = 0,
|
||||
FW_FEATURE_POWERNV_POSSIBLE = FW_FEATURE_OPAL,
|
||||
FW_FEATURE_POWERNV_POSSIBLE = FW_FEATURE_OPAL | FW_FEATURE_ULTRAVISOR,
|
||||
FW_FEATURE_POWERNV_ALWAYS = 0,
|
||||
FW_FEATURE_PS3_POSSIBLE = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1,
|
||||
FW_FEATURE_PS3_ALWAYS = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1,
|
||||
|
14
arch/powerpc/include/asm/ultravisor.h
Normal file
14
arch/powerpc/include/asm/ultravisor.h
Normal file
@@ -0,0 +1,14 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Ultravisor definitions
|
||||
*
|
||||
* Copyright 2019, IBM Corporation.
|
||||
*
|
||||
*/
|
||||
#ifndef _ASM_POWERPC_ULTRAVISOR_H
|
||||
#define _ASM_POWERPC_ULTRAVISOR_H
|
||||
|
||||
int early_init_dt_scan_ultravisor(unsigned long node, const char *uname,
|
||||
int depth, void *data);
|
||||
|
||||
#endif /* _ASM_POWERPC_ULTRAVISOR_H */
|
Reference in New Issue
Block a user