Add Imprecise flag for memory access fault
KFD may not be able to provide the precise VM fault address and status.
This flag will indicate whether the event data has the fault details
Change-Id: I15ffd5c25f555003c6450cc0700efb769418f76b
[ROCm/ROCR-Runtime commit: 79077811f5]
Ta zmiana jest zawarta w:
1 rodzic
a31106ee4c
złożenie
0c6a45ca49
3 plików zmienionych
+4
-2
Żadne pliki nie pasują do Twojego wyszukiwania
@@ -781,7 +781,8 @@ typedef struct _HsaAccessAttributeFailure
|
||||
unsigned int NoExecute : 1; // Execute access to a page marked NX
|
||||
unsigned int GpuAccess : 1; // Host access only
|
||||
unsigned int ECC : 1; // ECC failure (if supported by HW)
|
||||
unsigned int Reserved : 27; // must be 0
|
||||
unsigned int Imprecise : 1; // Can't determine the exact fault address
|
||||
unsigned int Reserved : 26; // must be 0
|
||||
} HsaAccessAttributeFailure;
|
||||
|
||||
// data associated with HSA_EVENTID_MEMORY
|
||||
|
||||
@@ -222,7 +222,7 @@ struct kfd_memory_exception_failure {
|
||||
bool NotPresent; /* Page not present or supervisor privilege */
|
||||
bool ReadOnly; /* Write access to a read-only page */
|
||||
bool NoExecute; /* Execute access to a page marked NX */
|
||||
bool pad;
|
||||
bool imprecise; /* Can't determine the exact fault address */
|
||||
};
|
||||
|
||||
/* memory exception data*/
|
||||
|
||||
@@ -278,6 +278,7 @@ hsaKmtWaitOnMultipleEvents(
|
||||
Events[i]->EventData.EventData.MemoryAccessFault.Failure.NotPresent = event_data[i].memory_exception_data.failure.NotPresent;
|
||||
Events[i]->EventData.EventData.MemoryAccessFault.Failure.ReadOnly = event_data[i].memory_exception_data.failure.ReadOnly;
|
||||
Events[i]->EventData.EventData.MemoryAccessFault.Failure.NoExecute = event_data[i].memory_exception_data.failure.NoExecute;
|
||||
Events[i]->EventData.EventData.MemoryAccessFault.Failure.Imprecise = event_data[i].memory_exception_data.failure.imprecise;
|
||||
Events[i]->EventData.EventData.MemoryAccessFault.Flags = HSA_EVENTID_MEMORY_FATAL_PROCESS;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Zablokuj użytkownika