[#58120] ExecutionMode: Move `SingleStepBlocking` setting to Emulation

Submodule src/Infrastructure 4a0cb98b4..aca94e822:
  > [#58120] MonitorCommands: Add SingleStepBlocking info for ExecutionMode
  > [#58120] GDB: Remove `BlockOnStep` setting
  > [#58120] ExecutionMode: Move `SingleStepBlocking` setting to Emulation
  > [#58120] MonitorCommands: Print possible values if Enum value isn't found
  > [#58120] MonitorCommands: Simplify Enum-value-not-found logic
  > [#58120] MonitorCommands: Extract creating string with Enum values
  > [#58120] MonitorCommands: Remove repetition in Enum suggestions
  > [#58120] Xtensa: Pass `IsSingleStepMode` instead of `ExecutionMode`
diff --git a/src/Infrastructure b/src/Infrastructure
index 6051fed..8f76c22 160000
--- a/src/Infrastructure
+++ b/src/Infrastructure
@@ -1 +1 @@
-Subproject commit 6051fed8acdfe58f9e60d72eda56132827d3cef3
+Subproject commit 8f76c2265b2607fad7beed11825118e4d4766690
diff --git a/src/Plugins/VerilatorPlugin/Verilated/Peripherals/VerilatedCPU.cs b/src/Plugins/VerilatorPlugin/Verilated/Peripherals/VerilatedCPU.cs
index 097f91b..73845b8 100644
--- a/src/Plugins/VerilatorPlugin/Verilated/Peripherals/VerilatedCPU.cs
+++ b/src/Plugins/VerilatorPlugin/Verilated/Peripherals/VerilatedCPU.cs
@@ -193,8 +193,7 @@
                             case ExecutionMode.Continuous:
                                 verilatedPeripheral.Send(ActionType.SingleStepMode, 0, 0);
                                 break;
-                            case ExecutionMode.SingleStepNonBlocking:
-                            case ExecutionMode.SingleStepBlocking:
+                            case ExecutionMode.SingleStep:
                                 verilatedPeripheral.Send(ActionType.SingleStepMode, 0, 1);
                                 break;
                         }
diff --git a/src/Plugins/VerilatorPlugin/Verilated/Peripherals/VerilatedRiscV32.cs b/src/Plugins/VerilatorPlugin/Verilated/Peripherals/VerilatedRiscV32.cs
index 11f7328..f3ab007 100644
--- a/src/Plugins/VerilatorPlugin/Verilated/Peripherals/VerilatedRiscV32.cs
+++ b/src/Plugins/VerilatorPlugin/Verilated/Peripherals/VerilatedRiscV32.cs
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2010-2023 Antmicro
+// Copyright (c) 2010-2024 Antmicro
 //
 //  This file is licensed under the MIT License.
 //  Full license text is available in 'licenses/MIT.txt'.
@@ -62,12 +62,13 @@
             return mapping.Values.OrderBy(x => x.Index);
         }
 
-        public void EnterSingleStepModeSafely(HaltArguments args, bool? blocking = null)
+        public void EnterSingleStepModeSafely(HaltArguments args)
         {
             // this method should only be called from CPU thread,
             // but we should check it anyway
             CheckCpuThreadId();
-            ChangeExecutionModeToSingleStep(blocking);
+
+            ExecutionMode = ExecutionMode.SingleStep;
 
             UpdateHaltedState();
             InvokeHalted(args);
diff --git a/tools/sel4_extensions/seL4Extensions.cs b/tools/sel4_extensions/seL4Extensions.cs
index 7eadc60..541e233 100644
--- a/tools/sel4_extensions/seL4Extensions.cs
+++ b/tools/sel4_extensions/seL4Extensions.cs
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2010-2022 Antmicro
+// Copyright (c) 2010-2024 Antmicro
 //
 // This file is licensed under the MIT License.
 // Full license text is available in 'licenses/MIT.txt'.
@@ -291,7 +291,7 @@
             // We changed context, remove this hook as we don't need it anymore
             cpu.RemoveHook(address, HandleThreadSwitch);
             cpu.Pause();
-            cpu.EnterSingleStepModeSafely(new HaltArguments(HaltReason.Breakpoint, cpu.Id, address, BreakpointType.MemoryBreakpoint), true);
+            cpu.EnterSingleStepModeSafely(new HaltArguments(HaltReason.Breakpoint, cpu.Id, address, BreakpointType.MemoryBreakpoint));
         }
 
         private void HandleBreakpoint(ICpuSupportingGdb cpu, ulong address)
@@ -304,7 +304,7 @@
 
             ClearTemporaryBreakpoint(address, threadName);
             cpu.Pause();
-            cpu.EnterSingleStepModeSafely(new HaltArguments(HaltReason.Breakpoint, cpu.Id, address, BreakpointType.MemoryBreakpoint), true);
+            cpu.EnterSingleStepModeSafely(new HaltArguments(HaltReason.Breakpoint, cpu.Id, address, BreakpointType.MemoryBreakpoint));
         }
 
         private void HandleExitUserspace(ICpuSupportingGdb cpu, ulong address)
@@ -315,7 +315,7 @@
             }
 
             cpu.Pause();
-            cpu.EnterSingleStepModeSafely(new HaltArguments(HaltReason.Breakpoint, cpu.Id, address, BreakpointType.MemoryBreakpoint), true);
+            cpu.EnterSingleStepModeSafely(new HaltArguments(HaltReason.Breakpoint, cpu.Id, address, BreakpointType.MemoryBreakpoint));
             if(exitUserspaceMode == ExitUserspaceMode.Once)
             {
                 cpu.RemoveHook(address, HandleExitUserspace);
@@ -385,7 +385,7 @@
             {
                 pendingThreadName = null;
                 cpu.Pause();
-                cpu.EnterSingleStepModeSafely(new HaltArguments(HaltReason.Breakpoint, cpu.Id, address, BreakpointType.MemoryBreakpoint), true);
+                cpu.EnterSingleStepModeSafely(new HaltArguments(HaltReason.Breakpoint, cpu.Id, address, BreakpointType.MemoryBreakpoint));
             }
         }