1 //
2 // Copyright (c) 2010-2024 Antmicro
3 //
4 // This file is licensed under the MIT License.
5 // Full license text is available in 'licenses/MIT.txt'.
6 //
7 using System.Text;
8 
9 namespace Antmicro.Renode.Utilities.GDB.Commands
10 {
11     internal class SupportedQueryCommand : Command
12     {
SupportedQueryCommand(CommandsManager manager)13         public SupportedQueryCommand(CommandsManager manager) : base(manager)
14         {
15         }
16 
17         [Execute("qSupported")]
Execute()18         public PacketData Execute()
19         {
20             var command = new StringBuilder();
21             // Trace32 extensions aren't supported by all CPUs but it shouldn't break anything.
22             command.Append(string.Format("PacketSize={0};qXfer:features:read+;swbreak+;hwbreak+;t32extensions+", 1024));
23             if(manager.Machine.SystemBus.IsMultiCore)
24             {
25                 command.Append(";qXfer:threads:read+;vContSupported+");
26             }
27             return new PacketData(command.ToString());
28         }
29     }
30 }
31 
32