What:           /sys/bus/event_source/devices/hv_gpci/format
Date:           September 2020
Contact:        Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:    Read-only. Attribute group to describe the magic bits
                that go into perf_event_attr.config for a particular pmu.
                (See ABI/testing/sysfs-bus-event_source-devices-format).

                Each attribute under this group defines a bit range of the
                perf_event_attr.config. All supported attributes are listed
                below::

				counter_info_version  = "config:16-23"
				length  = "config:24-31"
				partition_id  = "config:32-63"
				request = "config:0-31"
				sibling_part_id = "config:32-63"
				hw_chip_id = "config:32-63"
				offset = "config:32-63"
				phys_processor_idx = "config:32-63"
				secondary_index = "config:0-15"
				starting_index = "config:32-63"

                For example::

		  processor_core_utilization_instructions_completed = "request=0x94,
					phys_processor_idx=?,counter_info_version=0x8,
					length=8,offset=0x18"

		In this event, '?' after phys_processor_idx specifies this value
		this value will be provided by user while running this event.

What:		/sys/bus/event_source/devices/hv_gpci/interface/collect_privileged
Date:		February 2014
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:
		'0' if the hypervisor is configured to forbid access to event
		counters being accumulated by other guests and to physical
		domain event counters.

		'1' if that access is allowed.

What:		/sys/bus/event_source/devices/hv_gpci/interface/ga
Date:		February 2014
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:
		0 or 1. Indicates whether we have access to "GA" events (listed
		in arch/powerpc/perf/hv-gpci.h).

What:		/sys/bus/event_source/devices/hv_gpci/interface/expanded
Date:		February 2014
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:
		0 or 1. Indicates whether we have access to "EXPANDED" events (listed
		in arch/powerpc/perf/hv-gpci.h).

What:		/sys/bus/event_source/devices/hv_gpci/interface/lab
Date:		February 2014
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:
		0 or 1. Indicates whether we have access to "LAB" events (listed
		in arch/powerpc/perf/hv-gpci.h).

What:		/sys/bus/event_source/devices/hv_gpci/interface/version
Date:		February 2014
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:
		A number indicating the version of the gpci interface that the
		hypervisor reports supporting.

What:		/sys/bus/event_source/devices/hv_gpci/interface/kernel_version
Date:		February 2014
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:
		A number indicating the latest version of the gpci interface
		that the kernel is aware of.

What:		/sys/devices/hv_gpci/cpumask
Date:		October 2020
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:	read only
		This sysfs file exposes the cpumask which is designated to make
		HCALLs to retrieve hv-gpci pmu event counter data.

What:		/sys/devices/hv_gpci/interface/processor_bus_topology
Date:		July 2023
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:	admin read only
		This sysfs file exposes the system topology information by making HCALL
		H_GET_PERF_COUNTER_INFO. The HCALL is made with counter request value
		PROCESSOR_BUS_TOPOLOGY(0xD0).

		* This sysfs file will be created only for power10 and above platforms.

		* User needs root privileges to read data from this sysfs file.

		* This sysfs file will be created, only when the HCALL returns "H_SUCCESS",
		  "H_AUTHORITY" or "H_PARAMETER" as the return type.

		  HCALL with return error type "H_AUTHORITY" can be resolved during
		  runtime by setting "Enable Performance Information Collection" option.

		* The end user reading this sysfs file must decode the content as per
		  underlying platform/firmware.

		Possible error codes while reading this sysfs file:

		* "-EPERM" : Partition is not permitted to retrieve performance information,
			    required to set "Enable Performance Information Collection" option.

		* "-EIO" : Can't retrieve system information because of invalid buffer length/invalid address
			   or because of some hardware error. Refer to getPerfCountInfo documentation for
			   more information.

		* "-EFBIG" : System information exceeds PAGE_SIZE.

What:		/sys/devices/hv_gpci/interface/processor_config
Date:		July 2023
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:	admin read only
		This sysfs file exposes the system topology information by making HCALL
		H_GET_PERF_COUNTER_INFO. The HCALL is made with counter request value
		PROCESSOR_CONFIG(0x90).

		* This sysfs file will be created only for power10 and above platforms.

		* User needs root privileges to read data from this sysfs file.

		* This sysfs file will be created, only when the HCALL returns "H_SUCCESS",
		  "H_AUTHORITY" or "H_PARAMETER" as the return type.

		  HCALL with return error type "H_AUTHORITY" can be resolved during
		  runtime by setting "Enable Performance Information Collection" option.

		* The end user reading this sysfs file must decode the content as per
		  underlying platform/firmware.

		Possible error codes while reading this sysfs file:

		* "-EPERM" : Partition is not permitted to retrieve performance information,
			    required to set "Enable Performance Information Collection" option.

		* "-EIO" : Can't retrieve system information because of invalid buffer length/invalid address
			   or because of some hardware error. Refer to getPerfCountInfo documentation for
			   more information.

		* "-EFBIG" : System information exceeds PAGE_SIZE.

What:		/sys/devices/hv_gpci/interface/affinity_domain_via_virtual_processor
Date:		July 2023
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:	admin read only
		This sysfs file exposes the system topology information by making HCALL
		H_GET_PERF_COUNTER_INFO. The HCALL is made with counter request value
		AFFINITY_DOMAIN_INFORMATION_BY_VIRTUAL_PROCESSOR(0xA0).

		* This sysfs file will be created only for power10 and above platforms.

		* User needs root privileges to read data from this sysfs file.

		* This sysfs file will be created, only when the HCALL returns "H_SUCCESS",
		  "H_AUTHORITY" or "H_PARAMETER" as the return type.

		  HCALL with return error type "H_AUTHORITY" can be resolved during
		  runtime by setting "Enable Performance Information Collection" option.

		* The end user reading this sysfs file must decode the content as per
		  underlying platform/firmware.

		Possible error codes while reading this sysfs file:

		* "-EPERM" : Partition is not permitted to retrieve performance information,
			    required to set "Enable Performance Information Collection" option.

		* "-EIO" : Can't retrieve system information because of invalid buffer length/invalid address
			   or because of some hardware error. Refer to getPerfCountInfo documentation for
			   more information.

		* "-EFBIG" : System information exceeds PAGE_SIZE.

What:		/sys/devices/hv_gpci/interface/affinity_domain_via_domain
Date:		July 2023
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:	admin read only
		This sysfs file exposes the system topology information by making HCALL
		H_GET_PERF_COUNTER_INFO. The HCALL is made with counter request value
		AFFINITY_DOMAIN_INFORMATION_BY_DOMAIN(0xB0).

		* This sysfs file will be created only for power10 and above platforms.

		* User needs root privileges to read data from this sysfs file.

		* This sysfs file will be created, only when the HCALL returns "H_SUCCESS",
		  "H_AUTHORITY" or "H_PARAMETER" as the return type.

		  HCALL with return error type "H_AUTHORITY" can be resolved during
		  runtime by setting "Enable Performance Information Collection" option.

		* The end user reading this sysfs file must decode the content as per
		  underlying platform/firmware.

		Possible error codes while reading this sysfs file:

		* "-EPERM" : Partition is not permitted to retrieve performance information,
			    required to set "Enable Performance Information Collection" option.

		* "-EIO" : Can't retrieve system information because of invalid buffer length/invalid address
			   or because of some hardware error. Refer to getPerfCountInfo documentation for
			   more information.

		* "-EFBIG" : System information exceeds PAGE_SIZE.

What:		/sys/devices/hv_gpci/interface/affinity_domain_via_partition
Date:		July 2023
Contact:	Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
Description:	admin read only
		This sysfs file exposes the system topology information by making HCALL
		H_GET_PERF_COUNTER_INFO. The HCALL is made with counter request value
		AFFINITY_DOMAIN_INFORMATION_BY_PARTITION(0xB1).

		* This sysfs file will be created only for power10 and above platforms.

		* User needs root privileges to read data from this sysfs file.

		* This sysfs file will be created, only when the HCALL returns "H_SUCCESS",
		  "H_AUTHORITY" or "H_PARAMETER" as the return type.

		  HCALL with return error type "H_AUTHORITY" can be resolved during
		  runtime by setting "Enable Performance Information Collection" option.

		* The end user reading this sysfs file must decode the content as per
		  underlying platform/firmware.

		Possible error codes while reading this sysfs file:

		* "-EPERM" : Partition is not permitted to retrieve performance information,
			    required to set "Enable Performance Information Collection" option.

		* "-EIO" : Can't retrieve system information because of invalid buffer length/invalid address
			   or because of some hardware error. Refer to getPerfCountInfo documentation for
			   more information.

		* "-EFBIG" : System information exceeds PAGE_SIZE.
