L0 Debugger Windows - Enable single address space SBA tracking

Related-to: NEO-6719
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
This commit is contained in:
Yates, Brandon
2022-05-27 23:37:00 +00:00
committed by Compute-Runtime-Automation
parent 24ff26c396
commit 6c5a56f1a6
10 changed files with 137 additions and 50 deletions

View File

@@ -30,6 +30,8 @@ DebuggerL0::DebuggerL0(NEO::Device *device) : device(device) {
void DebuggerL0::initialize() {
initSbaTrackingMode();
if (NEO::DebugManager.flags.DebuggerForceSbaTrackingMode.get() != -1) {
setSingleAddressSpaceSbaTracking(NEO::DebugManager.flags.DebuggerForceSbaTrackingMode.get());
}

View File

@@ -96,6 +96,7 @@ class DebuggerL0 : public NEO::Debugger, NEO::NonCopyableOrMovableClass {
MOCKABLE_VIRTUAL void notifyCommandQueueCreated();
MOCKABLE_VIRTUAL void notifyCommandQueueDestroyed();
MOCKABLE_VIRTUAL void notifyModuleLoadAllocations(const StackVec<NEO::GraphicsAllocation *, 32> &allocs);
void initSbaTrackingMode();
virtual void programSbaTrackingCommands(NEO::LinearStream &cmdStream, const SbaAddresses &sba) = 0;
virtual size_t getSbaAddressLoadCommandsSize() = 0;
@@ -107,6 +108,7 @@ class DebuggerL0 : public NEO::Debugger, NEO::NonCopyableOrMovableClass {
void setSingleAddressSpaceSbaTracking(bool value) {
singleAddressSpaceSbaTracking = value;
}
bool getSingleAddressSpaceSbaTracking() { return singleAddressSpaceSbaTracking; }
protected:
static bool isAnyTrackedAddressChanged(SbaAddresses sba) {

View File

@@ -25,6 +25,10 @@ bool DebuggerL0::initDebuggingInOs(NEO::OSInterface *osInterface) {
return false;
}
void DebuggerL0::initSbaTrackingMode() {
singleAddressSpaceSbaTracking = false;
}
void DebuggerL0::registerElf(NEO::DebugData *debugData, NEO::GraphicsAllocation *isaAllocation) {
if (device->getRootDeviceEnvironment().osInterface.get() != nullptr) {
auto drm = device->getRootDeviceEnvironment().osInterface->getDriverModel()->as<NEO::Drm>();

View File

@@ -25,6 +25,10 @@ bool DebuggerL0::initDebuggingInOs(NEO::OSInterface *osInterface) {
return true;
}
void DebuggerL0::initSbaTrackingMode() {
singleAddressSpaceSbaTracking = true;
}
void DebuggerL0::registerElf(NEO::DebugData *debugData, NEO::GraphicsAllocation *isaAllocation) {
}