Hi Peter,

I am not sure, but could the issue be this one:

https://www.mail-archive.com/gem5-dev@gem5.org/msg16924.html

At least as far as I know, the problem that the X86-O3-CPU cannot handle jumps to the same location still exists.

Best regards,
Nils


On 3/25/24 14:29, Peter Wang via gem5-dev wrote:
|I'm using the configuration based on X86-ubuntu-run-with-kvm.py from the gem5_library. Here is my configuration. from gem5.coherence_protocol import CoherenceProtocol from gem5.components.boards.x86_board import X86Board from gem5.components.memory.single_channel import SingleChannelDDR3_1600 from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.simple_processor import ( SimpleProcessor, ) from gem5.isas import ISA from gem5.resources.resource import ( DiskImageResource, KernelResource, ) from gem5.simulate.simulator import Simulator from gem5.utils.requires import requires from gem5.components.boards.kernel_disk_workload import KernelDiskWorkload # This runs a check to ensure the gem5 binary is compiled to X86 and to the # MESI Two Level coherence protocol. requires( isa_required=ISA.X86, coherence_protocol_required=CoherenceProtocol.MESI_TWO_LEVEL, ) from gem5.components.cachehierarchies.ruby.mesi_two_level_cache_hierarchy import ( MESITwoLevelCacheHierarchy, ) cache_hierarchy = MESITwoLevelCacheHierarchy( l1d_size="16kB", l1d_assoc=8, l1i_size="16kB", l1i_assoc=8, l2_size="256kB", l2_assoc=16, num_l2_banks=1, ) # Setup the system memory. memory = SingleChannelDDR3_1600(size="3GB") processor = SimpleProcessor( cpu_type=CPUTypes.O3, isa=ISA.X86, num_cores=1, ) board = X86Board( clk_freq="3GHz", processor=processor, memory=memory, cache_hierarchy=cache_hierarchy, ) board.set_kernel_disk_workload(kernel=KernelResource(local_path="/workspace/example"), disk_image=DiskImageResource(local_path="/workspace/rootfs.ext2"), ) simulator = Simulator( board=board, on_exit_event={ # Here we want override the default behavior for the first m5 exit # exit event. Instead of exiting the simulator, we just want to # switch the processor. The 2nd m5 exit after will revert to using # default behavior where the simulator run will exit. # ExitEvent.EXIT: (func() for func in [processor.switch]) }, ) simulator.run()|


_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org

Reply via email to