Hi,

I am trying to limit the memory used by Linux so that I am left with some physically addressable memory to use with accelerators in FS mode.

In physical systems, to do this, it suffices to boot the kernel with the argument "mem=MAX_MEM", where MAX_MEM represents the maximum memory that Linux can access and also the corresponding upper address.

However, when I add that kernel argument, the system just does not boot (I get no output in the m5 terminal). If I remove that argument, everything works fine. I am using the gem5 standard library and my code is as follows:

========================================================================

requires(
    isa_required=ISA.X86,
    coherence_protocol_required=CoherenceProtocol.MESI_TWO_LEVEL,
)

memory = SingleChannelDDR3_1600(size="3GB")
processor = SimpleProcessor(cpu_type=CPUTypes.TIMING, num_cores=1)
cache_hierarchy = MESITwoLevelCacheHierarchy(
    l1d_size="32kB",
    l1d_assoc=8,
    l1i_size="32kB",
    l1i_assoc=8,
    l2_size="1MB",
    l2_assoc=16,
    num_l2_banks=1,
)

board = X86Board(
    clk_freq="3GHz",
    processor=processor,
    memory=memory,
    cache_hierarchy=cache_hierarchy,
)

board.set_kernel_disk_workload(
    kernel=CustomResource("fs_x86/binaries/vmlinux"),
    kernel_args=["mem=2G"],
disk_image=CustomDiskImageResource("fs_x86/disks/gem5_base.img"),
)

simulator = Simulator(board=board)
simulator.run()

========================================================================

Does anyone have a clue of what the problem is or is there any other logs that I can look at to understand where the boot process halts?

Thanks in advance!

Kind regards,
Joao Vieira

--
Joao Vieira
ECE PhD Student at Tecnico Lisboa | INESC-ID, Portugal
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to