reports KFD core dump support through hsakmt API

Member added to KFDVersion to report if KFD supports core dump
mechanism. This is done through hsaKmtRuntimeEnable API call while
the topology is being built. It also dictates if core dump will be
generated by either KFD or hsa-runtime.

Signed-off-by: Alex Sierra <alex.sierra@amd.com>
Change-Id: I2e9d4166563402f78613d728446feb692c52d9d1
Этот коммит содержится в:
Alex Sierra
2023-02-16 16:32:23 -06:00
коммит произвёл Alejandro Sierra Guiza
родитель 91f2a70817
Коммит 54604654bd
2 изменённых файлов: 7 добавлений и 2 удалений
+3 -1
Просмотреть файл
@@ -124,6 +124,7 @@ class Runtime {
HsaVersionInfo version;
bool supports_exception_debugging;
bool supports_event_age;
bool supports_core_dump;
};
/// @brief Open connection to kernel driver and increment reference count.
@@ -451,8 +452,9 @@ class Runtime {
kfd_version.supports_event_age = true;
}
void KfdVersion(bool exception_debugging) {
void KfdVersion(bool exception_debugging, bool core_dump) {
kfd_version.supports_exception_debugging = exception_debugging;
kfd_version.supports_core_dump = core_dump;
}
KfdVersion_t KfdVersion() const { return kfd_version; }
+4 -1
Просмотреть файл
@@ -417,7 +417,10 @@ bool Load() {
HSAKMT_STATUS err =
hsaKmtRuntimeEnable(&_amdgpu_r_debug, core::Runtime::runtime_singleton_->flag().debug());
if ((err != HSAKMT_STATUS_SUCCESS) && (err != HSAKMT_STATUS_NOT_SUPPORTED)) return false;
core::Runtime::runtime_singleton_->KfdVersion(err != HSAKMT_STATUS_NOT_SUPPORTED);
HSAuint32 caps_mask;
hsaKmtGetRuntimeCapabilities(&caps_mask);
core::Runtime::runtime_singleton_->KfdVersion(err != HSAKMT_STATUS_NOT_SUPPORTED,
!!(caps_mask & HSA_RUNTIME_ENABLE_CAPS_SUPPORTS_CORE_DUMP_MASK));
kfd.Dismiss();
return true;