1using sysbus
2mach create
3machine LoadPlatformDescription @platforms/cpus/sifive-fe310.repl
4
5set cacheBenchamrkLogger
6"""
7from Antmicro.Renode.Peripherals.CPU import ICPU
8
9machine = self.Machine
10sysbus = machine.SystemBus
11cpu = machine.GetPeripheralsOfType(ICPU)[0]
12
13def end_hook(cpu, addr):
14    cpu.Pause()
15    cpu.Log(LogLevel.Info, "Reached simulation end hook at PC: %s" % cpu.PC)
16    monitor.Parse("q")
17
18for addr in sysbus.GetAllSymbolAddresses("k_cpu_idle"):
19    cpu.AddHook(addr, end_hook)
20"""
21
22sysbus LoadELF @https://dl.antmicro.com/projects/renode/zephyr-fe310-shell.elf-s_323068-cf87169150ecdb30ad5a14c87ae209c53dd3eca2
23cpu PC `sysbus GetSymbolAddress "vinit"`
24
25cpu MaximumBlockSize 1
26cpu CreateExecutionTracing "tracer" $ORIGIN/trace.log PCAndOpcode
27tracer TrackMemoryAccesses
28
29python $cacheBenchamrkLogger
30