Hi Jinpeng,

First of all, you will have to recompile gem5 to use Ruby with
MESI_Two_Level (the default protocol is MI_example):

scons build/X86_MESI_Two_Level/gem5.opt --default=X86
PROTOCOL=MESI_Two_Level

Secondly, I will suggest you to compile your kernel following the
instructions here:
https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/develop/src/boot-exit/README.md
and use the referred linux config file (your kernel boot log makes me feel
that it is compiled with a different configuration)

Finally, the current develop branch of gem5 should have the best support to
boot Linux kernel with different configurations, so you might want to try
using that as well.

-Ayaz


On Mon, Jul 20, 2020 at 8:37 AM Jinpeng Miao via gem5-users <
[email protected]> wrote:

> Hi Hoa,
>
> Thanks so much for your help! I just tested it and it worked perfectly.
>
> Another question is that based on your test here(
> http://www.gem5.org/documentation/benchmark_status/#spec-2017-tests),
> gem5-20 along with linux-5.4 is able to support 2 O3 CPUs with the protocol
> MESI_Two-Level. But I cannot boot it successfully. It just stop running
> further at one point but not terminated either.
>
> *The command I run:*
> build/X86/gem5.opt configs/example/fs.py --kernel=vmlinux-5.4
> --disk-image=ubuntu-18.04.img --num-cpus=2 --ruby --cpu-type=DerivO3CPU
>
> *Output:*
> warn: instruction 'sgdt_Ms' unimplemented
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
>
> *warn: Address 0xffffffc0 is outside of physical memory, stopping
> fetchwarn: Address 0xffffffc0 is outside of physical memory, stopping fetch*
> warn: instruction 'wbinvd' unimplemented
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
> *hack: Assuming logical destinations are 1 << id.*
> warn: x86 cpuid: unknown family 0x4000
> warn: instruction 'fwait’ unimplemented
>
> *And the output at the VM terminal:*
> [    0.383486] check: Scanning for low memory corruption every 60 seconds
> [    0.383705] Initialise system trusted keyrings
> [    0.383705] Key type blacklist registered
> [    0.383705] workingset: timestamp_bits=36 max_order=17 bucket_order=0
> [    0.388387] zbud: loaded
> [    0.389302] squashfs: version 4.0 (2009/01/31) Phillip Lougher
> [    0.389737] fuse: init (API version 7.31)
> [    0.389737] *** VALIDATE fuse ***
> [    0.389737] *** VALIDATE fuse ***
> [    0.389737] Platform Keyring initialized
> [    0.393641] Key type asymmetric registered
> [    0.393641] Asymmetric key parser 'x509' registered
> [    0.393641] Block layer SCSI generic (bsg) driver version 0.4 loaded
> (major 244)
> [    0.393641] io scheduler mq-deadline registered
> [    0.393641] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> *!!! HERE STOP MOVING FURTHER !!!*
>
> Could anyone give some hints on how to solve this problem? Really
> appreciate it!
>
> Thanks,
> Jinpeng
>
>
> On Jul 17, 2020, at 3:11 PM, Hoa Nguyen <[email protected]> wrote:
>
> Hi Jinpeng,
>
> The error seems to cause by 'sysinfo', which is called by SPEC 2017
> before it starts running a workload. SPEC 2017 documents how to turn
> it off here: https://www.spec.org/cpu2017/Docs/utility.html#sysinfo.
>
> Basically, the fix is to add this line:
>
> sysinfo_program =
>
> to the SPEC config file. The SPEC config file used in the tutorial is
> /home/gem5/spec2017/config/myconfig.x86.cfg
>
> Regards,
> Hoa Nguyen
>
> On 7/17/20, Jinpeng Miao via gem5-users <[email protected]> wrote:
>
> Hello all,
>
> I am trying to build and run CPU SPEC 2017 benchmarks in the FS mode, but
> the process terminated unexpectedly with an error happening in i8237 DMA
> controller. I did not change the source code. I do not quite understand
> what
> causes this bug and how to fix it. Any help would be really appreciated.
> Thanks!
>
> Output as below:
>
> **** REAL SIMULATION ****
> info: Entering event queue @ 0.  Starting simulation...
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: instruction 'fninit' unimplemented
> warn: Don't know what interrupt to clear for console.
> 3575291925: system.pc.com_1.device: attach terminal 0
> warn: instruction 'sgdt_Ms' unimplemented
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid: unknown family 0x4000
> warn: Tried to clear PCI interrupt 14
> warn: Write to unknown i8042 (keyboard controller) command port.
> warn: instruction 'verw_Mw_or_Rv' unimplemented
> warn: instruction 'verw_Mw_or_Rv' unimplemented
> warn: instruction 'verw_Mw_or_Rv' unimplemented
> warn: MOVNTDQ: Ignoring non-temporal hint, modeling as cacheable!
> warn: instruction 'fwait' unimplemented
> warn: x86 cpuid: unknown family 0x4000
> gem5.opt: build/X86/dev/x86/i8237.cc:39: virtual Tick
> X86ISA::I8237::read(PacketPtr): Assertion `pkt->getSize() == 1' failed.
> Program aborted at tick 97564380133230
> --- BEGIN LIBC BACKTRACE ---
> build/X86/gem5.opt(_Z15print_backtracev+0x2c)[0x55845afa2dfc]
> build/X86/gem5.opt(_Z12abortHandleri+0x4a)[0x55845afb503a]
> /lib/x86_64-linux-gnu/libpthread.so.0(+0x128a0)[0x7f14140d88a0]
> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f14122adf47]
> /lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f14122af8b1]
> /lib/x86_64-linux-gnu/libc.so.6(+0x3042a)[0x7f141229f42a]
> /lib/x86_64-linux-gnu/libc.so.6(+0x304a2)[0x7f141229f4a2]
> build/X86/gem5.opt(_ZN6X86ISA5I82374readEP6Packet+0x70)[0x55845aea7510]
>
> build/X86/gem5.opt(_ZThn64_N7PioPortI9PioDeviceE10recvAtomicEP6Packet+0x45)[0x55845b584885]
>
> build/X86/gem5.opt(_ZN15NoncoherentXBar18recvAtomicBackdoorEP6PacketsPP11MemBackdoor+0x49b)[0x55845a7a4a0b]
>
> build/X86/gem5.opt(_ZN6Bridge15BridgeSlavePort10recvAtomicEP6Packet+0x5a)[0x55845a77c5ea]
>
> build/X86/gem5.opt(_ZN12CoherentXBar18recvAtomicBackdoorEP6PacketsPP11MemBackdoor+0x907)[0x55845a785f17]
>
> build/X86/gem5.opt(_ZN5Cache19handleAtomicReqMissEP6PacketRP8CacheBlkRNSt7__cxx114listIS1_SaIS1_EEE+0x1b7)[0x55845b59df47]
>
> build/X86/gem5.opt(_ZN9BaseCache10recvAtomicEP6Packet+0x3c3)[0x55845b59afa3]
> build/X86/gem5.opt(_ZN5Cache10recvAtomicEP6Packet+0x173)[0x55845b5a3bb3]
>
> build/X86/gem5.opt(_ZN12CoherentXBar18recvAtomicBackdoorEP6PacketsPP11MemBackdoor+0x907)[0x55845a785f17]
>
> build/X86/gem5.opt(_ZN5Cache19handleAtomicReqMissEP6PacketRP8CacheBlkRNSt7__cxx114listIS1_SaIS1_EEE+0x1b7)[0x55845b59df47]
>
> build/X86/gem5.opt(_ZN9BaseCache10recvAtomicEP6Packet+0x3c3)[0x55845b59afa3]
> build/X86/gem5.opt(_ZN5Cache10recvAtomicEP6Packet+0x173)[0x55845b5a3bb3]
>
> build/X86/gem5.opt(_ZN15AtomicSimpleCPU7readMemEmPhj5FlagsImERKSt6vectorIbSaIbEE+0x324)[0x55845a940604]
>
> build/X86/gem5.opt(_ZN17SimpleExecContext7readMemEmPhj5FlagsImERKSt6vectorIbSaIbEE+0x5f)[0x55845a956dbf]
> build/X86/gem5.opt(+0xbe1213)[0x55845ad72213]
>
> build/X86/gem5.opt(_ZNK10X86ISAInst5LdBig7executeEP11ExecContextPN5Trace10InstRecordE+0x16f)[0x55845ad94a7f]
> build/X86/gem5.opt(_ZN15AtomicSimpleCPU4tickEv+0x54a)[0x55845a93dd2a]
> build/X86/gem5.opt(_ZN10EventQueue10serviceOneEv+0xd9)[0x55845afab2a9]
> build/X86/gem5.opt(_Z9doSimLoopP10EventQueue+0x87)[0x55845afcc867]
> build/X86/gem5.opt(_Z8simulatem+0xcba)[0x55845afcd8ba]
> build/X86/gem5.opt(+0x1133de1)[0x55845b2c4de1]
> build/X86/gem5.opt(+0x796d64)[0x55845a927d64]
> build/X86/gem5.opt(PyEval_EvalFrameEx+0x6371)[0x55845b8fa5b1]
> build/X86/gem5.opt(PyEval_EvalCodeEx+0x7a0)[0x55845b8fdcd0]
> build/X86/gem5.opt(PyEval_EvalFrameEx+0x643b)[0x55845b8fa67b]
> --- END LIBC BACKTRACE ---
> Aborted (core dumped)
>
>
>
> _______________________________________________
> gem5-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________
gem5-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to