1 // 2 // Copyright (c) 2010-2018 Antmicro 3 // Copyright (c) 2011-2015 Realtime Embedded 4 // 5 // This file is licensed under the MIT License. 6 // Full license text is available in 'licenses/MIT.txt'. 7 // 8 using System; 9 using System.Collections.Generic; 10 using System.Linq; 11 using Antmicro.Renode.Logging; 12 using Antmicro.Renode.Utilities; 13 using Antmicro.Renode.Debug; 14 using Antmicro.Renode.Peripherals.CPU; 15 16 namespace Antmicro.Renode.Plugins.TracePlugin.Handlers 17 { 18 public class DefaultFunctionHandler : BaseFunctionHandler, IFunctionHandler 19 { DefaultFunctionHandler(TranslationCPU cpu)20 public DefaultFunctionHandler(TranslationCPU cpu) : base(cpu) 21 { 22 } 23 CallHandler(TranslationCPU cpu, ulong pc, string functionName, IEnumerable<object> arguments)24 public void CallHandler(TranslationCPU cpu, ulong pc, string functionName, IEnumerable<object> arguments) 25 { 26 Logger.Log(LogLevel.Debug, "Call {0} @ 0x{1:X} ({2})",functionName, pc, arguments.Stringify(", ")); 27 } 28 ReturnHandler(TranslationCPU cpu, ulong pc, string functionName, IEnumerable<object> argument)29 public void ReturnHandler(TranslationCPU cpu, ulong pc, string functionName, IEnumerable<object> argument) 30 { 31 Logger.Log(LogLevel.Debug, "Return from {0} @ 0x{1:X} ({2})",functionName, pc, argument.First()); 32 } 33 34 public IEnumerable<FunctionCallParameter> CallParameters 35 { 36 get; 37 set; 38 } 39 40 public FunctionCallParameter? ReturnParameter 41 { 42 get; 43 set; 44 } 45 46 } 47 }