From b5ba77994a1b7bd12511efd9f642bc1cd0e9adbe Mon Sep 17 00:00:00 2001 From: Alex Sierra Date: Mon, 27 Mar 2023 15:47:55 -0500 Subject: [PATCH] add hsaKmtGetRuntimeCapabilities API Queries for runtime capabilities after its being enabled Signed-off-by: Alex Sierra Change-Id: I098c0e9862c0c1d5e304b111cdc281c0ccd09691 [ROCm/ROCR-Runtime commit: 5e0a32d7b3781bbe9642b00137bee980df79d230] --- projects/rocr-runtime/include/hsakmt.h | 6 ++++++ projects/rocr-runtime/include/hsakmttypes.h | 1 + projects/rocr-runtime/src/debug.c | 9 ++++++++- projects/rocr-runtime/src/libhsakmt.ver | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/projects/rocr-runtime/include/hsakmt.h b/projects/rocr-runtime/include/hsakmt.h index 5a7e2f4c37..dae3f5a980 100644 --- a/projects/rocr-runtime/include/hsakmt.h +++ b/projects/rocr-runtime/include/hsakmt.h @@ -728,6 +728,12 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtRuntimeDisable(void); +HSAKMT_STATUS +HSAKMTAPI +hsaKmtGetRuntimeCapabilities( + HSAuint32 *caps_mask // OUT + ); + /** Gets GPU and CPU clock counters for particular Node */ diff --git a/projects/rocr-runtime/include/hsakmttypes.h b/projects/rocr-runtime/include/hsakmttypes.h index 2e086ca9b6..ef0a4a23a4 100644 --- a/projects/rocr-runtime/include/hsakmttypes.h +++ b/projects/rocr-runtime/include/hsakmttypes.h @@ -893,6 +893,7 @@ typedef enum HSA_DBG_NODE_CONTROL { HSA_DBG_NODE_CONTROL_FLAG_MAX = 0x01 } HSA_DBG_NODE_CONTROL; +#define HSA_RUNTIME_ENABLE_CAPS_SUPPORTS_CORE_DUMP_MASK 0x80000000 //This structure is hardware specific and may change in the future typedef struct _HsaDbgWaveMsgAMDGen2 diff --git a/projects/rocr-runtime/src/debug.c b/projects/rocr-runtime/src/debug.c index fcc10b1933..51022a2ba3 100644 --- a/projects/rocr-runtime/src/debug.c +++ b/projects/rocr-runtime/src/debug.c @@ -31,7 +31,7 @@ #include static bool *is_device_debugged; - +static uint32_t runtime_capabilities_mask = 0; HSAKMT_STATUS init_device_debugging_memory(unsigned int NumNodes) { @@ -324,6 +324,7 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtRuntimeEnable(void *rDebug, else return HSAKMT_STATUS_ERROR; } + runtime_capabilities_mask= args.capabilities_mask; return HSAKMT_STATUS_SUCCESS; } @@ -344,3 +345,9 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtRuntimeDisable(void) return HSAKMT_STATUS_SUCCESS; } + +HSAKMT_STATUS HSAKMTAPI hsaKmtGetRuntimeCapabilities(HSAuint32 *caps_mask) +{ + *caps_mask = runtime_capabilities_mask; + return HSAKMT_STATUS_SUCCESS; +} diff --git a/projects/rocr-runtime/src/libhsakmt.ver b/projects/rocr-runtime/src/libhsakmt.ver index fe34241b22..80aedc224f 100644 --- a/projects/rocr-runtime/src/libhsakmt.ver +++ b/projects/rocr-runtime/src/libhsakmt.ver @@ -61,6 +61,7 @@ hsaKmtGetQueueInfo; hsaKmtAllocQueueGWS; hsaKmtRuntimeEnable; hsaKmtRuntimeDisable; +hsaKmtGetRuntimeCapabilities; hsaKmtSPMAcquire; hsaKmtSPMRelease; hsaKmtSPMSetDestBuffer;