> On 2 Jun 2026, at 17:26, Gautam Menghani <[email protected]> wrote:
> 
> From: Gautam Menghani <[email protected]>
> 
> Update the hcall list with the newer hcalls in PPC.
> 
> [1]: github.com/torvalds/linux/blob/master/arch/powerpc/include/asm/hvcall.h
> 
> Signed-off-by: Gautam Menghani <[email protected]>
> ---
> v1 -> v2:
> 1. Add some of the missing hcalls. (Tejas)
> 2. Separate out the typo fix for H_DISABLE_AND_GET in another patch.

Changes looks fine to me. I have checked the names and hcall numbers in 
hvcall.h header file.

Reviewed-by: Shivani Nittor <[email protected] 
<mailto:[email protected]>>

> tools/perf/scripts/python/powerpc-hcalls.py | 89 +++++++++++++++++++++
> 1 file changed, 89 insertions(+)
> 
> diff --git a/tools/perf/scripts/python/powerpc-hcalls.py 
> b/tools/perf/scripts/python/powerpc-hcalls.py
> index 8b78dc790adb..f897d6a5e051 100644
> --- a/tools/perf/scripts/python/powerpc-hcalls.py
> +++ b/tools/perf/scripts/python/powerpc-hcalls.py
> @@ -117,10 +117,12 @@ hcall_table = {
>       440: 'H_GET_HCA_INFO',
>       444: 'H_GET_PERF_COUNT',
>       448: 'H_MANAGE_TRACE',
> +     456: 'H_GET_CPU_CHARACTERISTICS',
>       468: 'H_FREE_LOGICAL_LAN_BUFFER',
>       472: 'H_POLL_PENDING',
>       484: 'H_QUERY_INT_STATE',
>       580: 'H_ILLAN_ATTRIBUTES',
> +     584: 'H_ADD_LOGICAL_LAN_BUFFERS',
>       592: 'H_MODIFY_HEA_QP',
>       596: 'H_QUERY_HEA_QP',
>       600: 'H_QUERY_HEA',
> @@ -135,11 +137,17 @@ hcall_table = {
>       644: 'H_ADD_CONN',
>       648: 'H_DEL_CONN',
>       664: 'H_JOIN',
> +     672: 'H_VASI_SIGNAL',
>       676: 'H_VASI_STATE',
> +     680: 'H_VIOCTL',
>       688: 'H_ENABLE_CRQ',
>       696: 'H_GET_EM_PARMS',
>       720: 'H_SET_MPP',
>       724: 'H_GET_MPP',
> +     732: 'H_REG_SUB_CRQ',
> +     736: 'H_FREE_SUB_CRQ',
> +     740: 'H_SEND_SUB_CRQ',
> +     744: 'H_SEND_SUB_CRQ_INDIRECT',
>       748: 'H_HOME_NODE_ASSOCIATIVITY',
>       756: 'H_BEST_ENERGY',
>       764: 'H_XIRR_X',
> @@ -147,7 +155,88 @@ hcall_table = {
>       772: 'H_COP',
>       788: 'H_GET_MPP_X',
>       796: 'H_SET_MODE',
> +     808: 'H_BLOCK_REMOVE',
> +     856: 'H_CLEAR_HPT',
> +     864: 'H_REQUEST_VMC',
> +     876: 'H_RESIZE_HPT_PREPARE',
> +     880: 'H_RESIZE_HPT_COMMIT',
> +     892: 'H_REGISTER_PROC_TBL',
> +     896: 'H_SIGNAL_SYS_RESET',
> +     904: 'H_ALLOCATE_VAS_WINDOW',
> +     908: 'H_MODIFY_VAS_WINDOW',
> +     912: 'H_DEALLOCATE_VAS_WINDOW',
> +     916: 'H_QUERY_VAS_WINDOW',
> +     920: 'H_QUERY_VAS_CAPABILITIES',
> +     924: 'H_QUERY_NX_CAPABILITIES',
> +     928: 'H_GET_NX_FAULT',
> +     936: 'H_INT_GET_SOURCE_INFO',
> +     940: 'H_INT_SET_SOURCE_CONFIG',
> +     944: 'H_INT_GET_SOURCE_CONFIG',
> +     948: 'H_INT_GET_QUEUE_INFO',
> +     952: 'H_INT_SET_QUEUE_CONFIG',
> +     956: 'H_INT_GET_QUEUE_CONFIG',
> +     960: 'H_INT_SET_OS_REPORTING_LINE',
> +     964: 'H_INT_GET_OS_REPORTING_LINE',
> +     968: 'H_INT_ESB',
> +     972: 'H_INT_SYNC',
> +     976: 'H_INT_RESET',
> +     996: 'H_SCM_READ_METADATA',
> +     1000: 'H_SCM_WRITE_METADATA',
> +     1004: 'H_SCM_BIND_MEM',
> +     1008: 'H_SCM_UNBIND_MEM',
> +     1012: 'H_SCM_QUERY_BLOCK_MEM_BINDING',
> +     1016: 'H_SCM_QUERY_LOGICAL_MEM_BINDING',
> +     1020: 'H_SCM_UNBIND_ALL',
> +     1024: 'H_SCM_HEALTH',
> +     1048: 'H_SCM_PERFORMANCE_STATS',
> +     1052: 'H_PKS_GET_CONFIG',
> +     1056: 'H_PKS_SET_PASSWORD',
> +     1060: 'H_PKS_GEN_PASSWORD',
> +     1068: 'H_PKS_WRITE_OBJECT',
> +     1072: 'H_PKS_GEN_KEY',
> +     1076: 'H_PKS_READ_OBJECT',
> +     1080: 'H_PKS_REMOVE_OBJECT',
> +     1084: 'H_PKS_CONFIRM_OBJECT_FLUSHED',
> +     1096: 'H_RPT_INVALIDATE',
> +     1100: 'H_SCM_FLUSH',
> +     1104: 'H_GET_ENERGY_SCALE_INFO',
> +     1108: 'H_PKS_SIGNED_UPDATE',
> +     1112: 'H_HTM',
> +     1116: 'H_WATCHDOG',
> +     # Platform specific hcalls used by KVM on PowerVM
> +     1120: 'H_GUEST_GET_CAPABILITIES',
> +     1124: 'H_GUEST_SET_CAPABILITIES',
> +     1136: 'H_GUEST_CREATE',
> +     1140: 'H_GUEST_CREATE_VCPU',
> +     1144: 'H_GUEST_GET_STATE',
> +     1148: 'H_GUEST_SET_STATE',
> +     1152: 'H_GUEST_RUN_VCPU',
> +     1156: 'H_GUEST_COPY_MEMORY',
> +     1160: 'H_GUEST_DELETE',
> +     # Key wrapping hcalls
> +     1168: 'H_PKS_WRAP_OBJECT',
> +     1172: 'H_PKS_UNWRAP_OBJECT',
> +     # Platform-specific hcalls used by the Ultravisor
> +     61184: 'H_SVM_PAGE_IN',
> +     61188: 'H_SVM_PAGE_OUT',
> +     61192: 'H_SVM_INIT_START',
> +     61196: 'H_SVM_INIT_DONE',
> +     61204: 'H_SVM_INIT_ABORT',
> +     # Platform specific hcalls used by KVM
>       61440: 'H_RTAS',
> +     # Platform specific hcalls used by QEMU/SLOF
> +     61441: 'H_LOGICAL_MEMOP',
> +     61442: 'H_CAS',
> +     61443: 'H_UPDATE_DT',
> +     # Platform specific hcalls provided by PHYP
> +     61560: 'H_GET_24X7_CATALOG_PAGE',
> +     61564: 'H_GET_24X7_DATA',
> +     61568: 'H_GET_PERF_COUNTER_INFO',
> +     # Platform-specific hcalls used for nested HV KVM
> +     63488: 'H_SET_PARTITION_TABLE',
> +     63492: 'H_ENTER_NESTED',
> +     63496: 'H_TLB_INVALIDATE',
> +     63500: 'H_COPY_TOFROM_GUEST',
> }
> 
> def hcall_table_lookup(opcode):
> -- 
> 2.53.0
> 
> 

Reply via email to