build: Update debugger uapi headers to latest

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
This commit is contained in:
Brandon Yates
2024-02-21 20:54:40 +00:00
committed by Compute-Runtime-Automation
parent 000f776741
commit 0fa730e524
5 changed files with 52 additions and 28 deletions

View File

@@ -46,7 +46,7 @@ int IoctlHelperXe::debuggerMetadataCreateIoctl(DrmIoctl request, void *arg) {
drm_xe_debug_metadata_create *metadata = static_cast<drm_xe_debug_metadata_create *>(arg);
auto ret = IoctlHelper::ioctl(request, arg);
xeLog(" -> IoctlHelperXe::ioctl metadataCreate type=%llu user_addr=%uul len=%uul\n id=%uul ret=%d, errno=%d\n",
metadata->type, metadata->user_addr, metadata->len, metadata->id, ret, errno);
metadata->type, metadata->user_addr, metadata->len, metadata->metadata_id, ret, errno);
return ret;
}
@@ -54,7 +54,7 @@ int IoctlHelperXe::debuggerMetadataDestroyIoctl(DrmIoctl request, void *arg) {
drm_xe_debug_metadata_destroy *metadata = static_cast<drm_xe_debug_metadata_destroy *>(arg);
auto ret = IoctlHelper::ioctl(request, arg);
xeLog(" -> IoctlHelperXe::ioctl metadataDestroy id=%llu r=%d\n",
metadata->id, ret);
metadata->metadata_id, ret);
return ret;
}
@@ -137,7 +137,7 @@ void IoctlHelperXe::addDebugMetadata(DrmResourceClass type, uint64_t *offset, ui
}
int IoctlHelperXe::getRunaloneExtProperty() {
return DRM_XE_EXEC_QUEUE_SET_PROPERTY_RUNALONE;
return DRM_XE_EXEC_QUEUE_SET_PROPERTY_EU_DEBUG;
}
int IoctlHelperXe::getEuDebugSysFsEnable() {
@@ -169,17 +169,17 @@ uint32_t IoctlHelperXe::registerResource(DrmResourceClass classType, const void
}
[[maybe_unused]] auto retVal = IoctlHelperXe::ioctl(DrmIoctl::metadataCreate, &metadata);
PRINT_DEBUGGER_INFO_LOG("DRM_XE_DEBUG_METADATA_CREATE: type=%llu user_addr=%llu len=%llu id=%llu\n",
metadata.type, metadata.user_addr, metadata.len, metadata.id);
metadata.type, metadata.user_addr, metadata.len, metadata.metadata_id);
DEBUG_BREAK_IF(retVal != 0);
return static_cast<uint32_t>(metadata.id);
return static_cast<uint32_t>(metadata.metadata_id);
}
void IoctlHelperXe::unregisterResource(uint32_t handle) {
drm_xe_debug_metadata_destroy metadata = {};
metadata.id = handle;
metadata.metadata_id = handle;
[[maybe_unused]] auto retVal = IoctlHelperXe::ioctl(DrmIoctl::metadataDestroy, &metadata);
DEBUG_BREAK_IF(retVal != 0);
PRINT_DEBUGGER_INFO_LOG("DRM_XE_DEBUG_METADATA_DESTROY: id=%llu\n", metadata.id);
PRINT_DEBUGGER_INFO_LOG("DRM_XE_DEBUG_METADATA_DESTROY: id=%llu\n", metadata.metadata_id);
}
} // namespace NEO

View File

@@ -114,12 +114,12 @@ class DrmMockXeDebug : public DrmMockCustom {
metadataAddr = reinterpret_cast<void *>(metadata->user_addr);
metadataSize = metadata->len;
metadataType = metadata->type;
metadata->id = metadataID;
metadata->metadata_id = metadataID;
return 0;
} break;
case DrmIoctl::metadataDestroy: {
auto metadata = reinterpret_cast<drm_xe_debug_metadata_destroy *>(arg);
metadataID = metadata->id;
metadataID = metadata->metadata_id;
return 0;
} break;
@@ -177,7 +177,7 @@ class DrmMockXeDebug : public DrmMockCustom {
int setIoctlAnswer = 0;
int gemVmBindReturn = 0;
uint64_t metadataID = 20;
uint32_t metadataID = 20;
void *metadataAddr = nullptr;
size_t metadataSize = 0;
uint64_t metadataType = 9999;

View File

@@ -175,7 +175,7 @@ TEST(IoctlHelperXeTest, givenIoctlHelperXeWhenCallingGetRunaloneExtPropertyThenC
executionEnvironment->setDebuggingMode(DebuggingMode::offline);
DrmMockXeDebug drm{*executionEnvironment->rootDeviceEnvironments[0]};
auto xeIoctlHelper = std::make_unique<MockIoctlHelperXeDebug>(drm);
EXPECT_EQ(xeIoctlHelper->getRunaloneExtProperty(), DRM_XE_EXEC_QUEUE_SET_PROPERTY_RUNALONE);
EXPECT_EQ(xeIoctlHelper->getRunaloneExtProperty(), DRM_XE_EXEC_QUEUE_SET_PROPERTY_EU_DEBUG);
}
using IoctlHelperXeTestFixture = ::testing::Test;
@@ -201,7 +201,7 @@ HWTEST_F(IoctlHelperXeTestFixture, GivenRunaloneModeRequiredReturnFalseWhenCreat
xeIoctlHelper->createDrmContext(drm, osContext, 0, 0);
auto ext = drm.receivedContextCreateSetParam;
EXPECT_NE(ext.property, static_cast<uint32_t>(DRM_XE_EXEC_QUEUE_SET_PROPERTY_RUNALONE));
EXPECT_NE(ext.property, static_cast<uint32_t>(DRM_XE_EXEC_QUEUE_SET_PROPERTY_EU_DEBUG));
}
HWTEST_F(IoctlHelperXeTestFixture, GivenRunaloneModeRequiredReturnTrueWhenCreateDrmContextThenRunAloneContextIsRequested) {
@@ -228,7 +228,7 @@ HWTEST_F(IoctlHelperXeTestFixture, GivenRunaloneModeRequiredReturnTrueWhenCreate
auto ext = drm.receivedContextCreateSetParam;
EXPECT_EQ(ext.base.name, static_cast<uint32_t>(DRM_XE_EXEC_QUEUE_EXTENSION_SET_PROPERTY));
EXPECT_EQ(ext.base.next_extension, 0ULL);
EXPECT_EQ(ext.property, static_cast<uint32_t>(DRM_XE_EXEC_QUEUE_SET_PROPERTY_RUNALONE));
EXPECT_EQ(ext.property, static_cast<uint32_t>(DRM_XE_EXEC_QUEUE_SET_PROPERTY_EU_DEBUG));
EXPECT_EQ(ext.value, 1ULL);
}
@@ -262,7 +262,7 @@ HWTEST_F(IoctlHelperXeTestFixture, GivenContextCreatedForCopyEngineWhenCreateDrm
xeIoctlHelper->createDrmContext(drm, osContext, 0, 0);
auto ext = drm.receivedContextCreateSetParam;
EXPECT_NE(ext.property, static_cast<uint32_t>(DRM_XE_EXEC_QUEUE_SET_PROPERTY_RUNALONE));
EXPECT_NE(ext.property, static_cast<uint32_t>(DRM_XE_EXEC_QUEUE_SET_PROPERTY_EU_DEBUG));
}
TEST(IoctlHelperXeTest, GivenXeDriverThenDebugAttachReturnsTrue) {

View File

@@ -830,8 +830,8 @@ struct drm_xe_vm_bind_op_ext_attach_debug {
/** @base: base user extension */
struct drm_xe_user_extension base;
/** @id: Debug object id from create metadata */
__u64 id;
/** @metadata_id: Debug object id from create metadata */
__u32 metadata_id;
/** @flags: Flags */
__u64 flags;
@@ -1086,7 +1086,7 @@ struct drm_xe_exec_queue_create {
/* Monitor 64MB contiguous region with 2M sub-granularity */
#define DRM_XE_ACC_GRANULARITY_64M 3
#define DRM_XE_EXEC_QUEUE_SET_PROPERTY_RUNALONE 8
#define DRM_XE_EXEC_QUEUE_SET_PROPERTY_EU_DEBUG 8
/** @extensions: Pointer to the first extension struct, if any */
__u64 extensions;
@@ -1384,6 +1384,9 @@ struct drm_xe_debug_metadata_create {
#define DRM_XE_DEBUG_METADATA_ELF_BINARY 0
#define DRM_XE_DEBUG_METADATA_PROGRAM_MODULE 1
#define WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_MODULE_AREA 2
#define WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_SBA_AREA 3
#define WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_SIP_AREA 4
/** @type: Type of metadata */
__u64 type;
@@ -1393,8 +1396,8 @@ struct drm_xe_debug_metadata_create {
/** @len: length, in bytes of the medata */
__u64 len;
/** @id: created metadata handle (out) */
__u64 id;
/** @metadata_id: created metadata handle (out) */
__u32 metadata_id;
};
/**
@@ -1406,8 +1409,8 @@ struct drm_xe_debug_metadata_destroy {
/** @extensions: Pointer to the first extension struct, if any */
__u64 extensions;
/** @id: metadata handle to destroy */
__u64 id;
/** @metadata_id: metadata handle to destroy */
__u32 metadata_id;
};
/**

View File

@@ -38,8 +38,11 @@ struct drm_xe_eudebug_event {
#define DRM_XE_EUDEBUG_EVENT_EXEC_QUEUE 4
#define DRM_XE_EUDEBUG_EVENT_EU_ATTENTION 5
#define DRM_XE_EUDEBUG_EVENT_VM_BIND 6
#define DRM_XE_EUDEBUG_EVENT_METADATA 7
#define DRM_XE_EUDEBUG_EVENT_VM_SET_METADATA 8
#define DRM_XE_EUDEBUG_EVENT_VM_BIND_OP 7
#define DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE 8
#define DRM_XE_EUDEBUG_EVENT_METADATA 9
#define DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA 10
#define DRM_XE_EUDEBUG_EVENT_VM_SET_METADATA 11
#define DRM_XE_EUDEBUG_EVENT_MAX_EVENT DRM_XE_EUDEBUG_EVENT_VM_SET_METADATA
__u16 flags;
@@ -88,14 +91,24 @@ struct drm_xe_eudebug_event_eu_attention {
struct drm_xe_eudebug_event_vm_bind {
struct drm_xe_eudebug_event base;
__u64 client_handle;
__u64 vm_handle;
__u64 va_start;
__u64 va_length;
__u64 num_binds;
} __attribute__((packed));
__u64 metadata_handle;
__u64 metadata_cookie;
struct drm_xe_eudebug_event_vm_bind_op {
struct drm_xe_eudebug_event base;
__u64 vm_bind_ref_seqno; /* *_event_vm_bind.base.seqno */
__u64 num_extensions;
__u64 addr; /* XXX: Zero for unmap all? */
__u64 range; /* XXX: Zero for unmap all? */
} __attribute__((packed));
struct drm_xe_eudebug_event_vm_bind_ufence {
struct drm_xe_eudebug_event base;
__u64 vm_bind_ref_seqno; /* *_event_vm_bind.base.seqno */
} __attribute__((packed));
struct drm_xe_eudebug_event_metadata {
@@ -108,6 +121,14 @@ struct drm_xe_eudebug_event_metadata {
__u64 len;
} __attribute__((packed));
struct drm_xe_eudebug_vm_bind_op_metadata {
struct drm_xe_eudebug_event base;
__u64 vm_bind_op_ref_seqno; /* *_event_vm_bind_op.base.seqno */
__u64 metadata_handle;
__u64 metadata_cookie;
};
struct drm_xe_eudebug_event_vm_set_metadata {
struct drm_xe_eudebug_event base;