Fix Debug Thunk spec mismatch

Move debug trap support capabilities to their own
structure to fix thunk spec vs header mismatch.



Change-Id: I6694601bfa36097502c8ab932e082d7a4645d5b2
Signed-off-by: Philip Cox <Philip.Cox@amd.com>


[ROCm/ROCR-Runtime commit: 105edd4bb4]
Tento commit je obsažen v:
Philip Cox
2018-10-23 13:07:10 -04:00
rodič 11106ed72f
revize 84b9ffbbbd
2 změnil soubory, kde provedl 21 přidání a 5 odebrání
+19 -5
Zobrazit soubor
@@ -199,17 +199,31 @@ typedef union
// 1: This node has 1.0 doorbell characteristic
// 2,3: reserved for future use
unsigned int AQLQueueDoubleMap : 1; // The unit needs a VA “double map”
unsigned int WatchAddrMaskLoBit : 4; // Only bits WatchAddrMaskLoBit..WatchAddrMaskHiBit of the
unsigned int WatchAddrMaskHiBit : 6; // watch address mask are used. 0 is the least significant bit.
unsigned int DebugTrapSupported : 1; // Indicates if Debug Trap is supported on the node.
unsigned int TrapDataCount : 2; // Number of 32 bit TrapData registers supported.
unsigned int WaveLaunchTrapOverrideSupported: 1; // Indicates if Wave Launch Trap Override is supported on the node.
unsigned int WaveLaunchModeSupported: 1; // Indicates if Wave Launch Mode is supported on the node.
unsigned int PreciseMemoryOperationsSupported: 1; // Indicates if Precise Memory Operations are supported on the node.
unsigned int Reserved : 1;
unsigned int Reserved : 13;
} ui32;
} HSA_CAPABILITY;
// Debug Properties and values
// HSA runtime may expose a subset of the capabilities outlined to the applicati
typedef union
{
HSAuint64 Value;
struct
{
HSAuint64 WatchAddrMaskLoBit: 6; // Only bits
// WatchAddrMaskLoBit..WatchAddrMaskHiBit
// of the
HSAuint64 WatchAddrMaskHiBit: 4; // watch address mask are used.
// 0 is the least significant bit.
HSAuint64 TrapDataCount: 4; // Number of 32 bit TrapData
// registers supported.
HSAuint64 Reserved: 50; //
};
} HSA_DEBUG_PROPERTIES;
//
// HSA node properties. This structure is an output parameter of hsaKmtGetNodeProperties()
@@ -273,7 +287,7 @@ typedef struct _HsaNodeProperties
// Unicode string
HSAuint8 AMDName[HSA_PUBLIC_NAME_SIZE]; //CAL Name of the "device", ASCII
HSA_ENGINE_VERSION uCodeEngineVersions;
HSAuint64 DebugProperties;
HSA_DEBUG_PROPERTIES DebugProperties; // Debug properties of this node.
HSAuint64 HiveID; // XGMI Hive the GPU node belongs to in the system. It is an opaque and static
// number hash created by the PSP
HSAuint8 Reserved[44];
+2
Zobrazit soubor
@@ -944,6 +944,8 @@ HSAKMT_STATUS topology_sysfs_get_node_props(uint32_t node_id,
props->FComputeIdLo = (uint32_t)prop_val;
else if (strcmp(prop_name, "capability") == 0)
props->Capability.Value = (uint32_t)prop_val;
else if (strcmp(prop_name, "debug_prop") == 0)
props->DebugProperties.Value = (uint64_t)prop_val;
else if (strcmp(prop_name, "max_waves_per_simd") == 0)
props->MaxWavesPerSIMD = (uint32_t)prop_val;
else if (strcmp(prop_name, "lds_size_in_kb") == 0)