Currently v4.4 works fine with the extensions enabled. Thanks alot!

On Wed, May 9, 2018 at 2:23 AM Ciro Santilli <ciro.santi...@gmail.com>
wrote:

> Yes, 16 also needs gem5_extensions = True according to my experiments,
> just like 64.
>
> I think v4.4 should work as you have the gic commit on top, but I didn't
> test.
>
> On Wed, May 9, 2018 at 8:17 AM, Haiyang Han
> <haiyang....@eecs.northwestern.edu> wrote:
> > Hi Ciro,
> >
> > Thanks for the reply. I made a mistake in my title. I actually meant the
> > system hangs with 16 cores.
> > Do I still need to set root.system.realview.gic.gem5_extensions to True
> in
> > fs.py?
> > Is the GICv2 extension only compatible with Linux kernel 4.15? Currently
> I'm
> > using 4.4.
> >
> > Thanks,
> > Haiyang
> >
> > On Wed, May 9, 2018 at 2:11 AM Ciro Santilli <ciro.santi...@gmail.com>
> > wrote:
> >>
> >> As mentioned at:
> >> https://www.mail-archive.com/gem5-dev@gem5.org/msg24593.html you need
> >> to:
> >>
> >> - use the ARM linux kernel fork from:
> >> https://gem5.googlesource.com/arm/linux/+/refs/heads/gem5/v4.15 in
> >> particular the GICv2 extension script commit
> >> - hack up gem5:
> >>   - fs.py to set `root.system.realview.gic.gem5_extensions = True`
> >>   - generate a 32 / 64 / etc. dtb if needed (16 already built by
> default)
> >>
> >> The following patch will do both:
> >>
> >> ```
> >> diff --git a/configs/example/fs.py b/configs/example/fs.py
> >> index 4031fd05e..51dd1d4ff 100644
> >> --- a/configs/example/fs.py
> >> +++ b/configs/example/fs.py
> >> @@ -395,5 +395,6 @@ if buildEnv['TARGET_ISA'] == "arm" and
> >> options.generate_dtb:
> >>              sys = getattr(root, sysname)
> >>              sys.dtb_filename = create_dtb_for_system(sys, '%s.dtb' %
> >> sysname)
> >>
> >> +root.system.realview.gic.gem5_extensions = True
> >>  Simulation.setWorkCountOptions(test_sys, options)
> >>  Simulation.run(options, root, test_sys, FutureClass)
> >> diff --git a/system/arm/dt/Makefile b/system/arm/dt/Makefile
> >> index 62cf65f27..66f17a3c4 100644
> >> --- a/system/arm/dt/Makefile
> >> +++ b/system/arm/dt/Makefile
> >> @@ -38,6 +38,8 @@ TARGETS=\
> >>   armv8_gem5_v1_1cpu.dtb armv8_gem5_v1_2cpu.dtb \
> >>   armv8_gem5_v1_4cpu.dtb armv8_gem5_v1_8cpu.dtb \
> >>   armv8_gem5_v1_16cpu.dtb \
> >> + armv8_gem5_v1_32cpu.dtb \
> >> + armv8_gem5_v1_64cpu.dtb \
> >>   armv8_gem5_v1_big_little_2_2.dtb \
> >>   armv8_gem5_v1_big_little_2_4.dtb
> >>
> >> diff --git a/system/arm/dt/armv8.dts b/system/arm/dt/armv8.dts
> >> index 9e07decbd..ddef086a4 100644
> >> --- a/system/arm/dt/armv8.dts
> >> +++ b/system/arm/dt/armv8.dts
> >> @@ -105,6 +105,150 @@
> >>   CPU(15)
> >>   #endif
> >>   #if CONF_CPUS > 16
> >> + CPU(16)
> >> + #endif
> >> + #if CONF_CPUS > 17
> >> + CPU(17)
> >> + #endif
> >> + #if CONF_CPUS > 18
> >> + CPU(18)
> >> + #endif
> >> + #if CONF_CPUS > 19
> >> + CPU(19)
> >> + #endif
> >> + #if CONF_CPUS > 20
> >> + CPU(20)
> >> + #endif
> >> + #if CONF_CPUS > 21
> >> + CPU(21)
> >> + #endif
> >> + #if CONF_CPUS > 22
> >> + CPU(22)
> >> + #endif
> >> + #if CONF_CPUS > 23
> >> + CPU(23)
> >> + #endif
> >> + #if CONF_CPUS > 24
> >> + CPU(24)
> >> + #endif
> >> + #if CONF_CPUS > 25
> >> + CPU(25)
> >> + #endif
> >> + #if CONF_CPUS > 26
> >> + CPU(26)
> >> + #endif
> >> + #if CONF_CPUS > 27
> >> + CPU(27)
> >> + #endif
> >> + #if CONF_CPUS > 28
> >> + CPU(28)
> >> + #endif
> >> + #if CONF_CPUS > 29
> >> + CPU(29)
> >> + #endif
> >> + #if CONF_CPUS > 30
> >> + CPU(30)
> >> + #endif
> >> + #if CONF_CPUS > 31
> >> + CPU(31)
> >> + #endif
> >> + #if CONF_CPUS > 32
> >> + CPU(32)
> >> + #endif
> >> + #if CONF_CPUS > 33
> >> + CPU(33)
> >> + #endif
> >> + #if CONF_CPUS > 34
> >> + CPU(34)
> >> + #endif
> >> + #if CONF_CPUS > 35
> >> + CPU(35)
> >> + #endif
> >> + #if CONF_CPUS > 36
> >> + CPU(36)
> >> + #endif
> >> + #if CONF_CPUS > 37
> >> + CPU(37)
> >> + #endif
> >> + #if CONF_CPUS > 38
> >> + CPU(38)
> >> + #endif
> >> + #if CONF_CPUS > 39
> >> + CPU(39)
> >> + #endif
> >> + #if CONF_CPUS > 40
> >> + CPU(40)
> >> + #endif
> >> + #if CONF_CPUS > 41
> >> + CPU(41)
> >> + #endif
> >> + #if CONF_CPUS > 42
> >> + CPU(42)
> >> + #endif
> >> + #if CONF_CPUS > 43
> >> + CPU(43)
> >> + #endif
> >> + #if CONF_CPUS > 44
> >> + CPU(44)
> >> + #endif
> >> + #if CONF_CPUS > 45
> >> + CPU(45)
> >> + #endif
> >> + #if CONF_CPUS > 46
> >> + CPU(46)
> >> + #endif
> >> + #if CONF_CPUS > 47
> >> + CPU(47)
> >> + #endif
> >> + #if CONF_CPUS > 48
> >> + CPU(48)
> >> + #endif
> >> + #if CONF_CPUS > 49
> >> + CPU(49)
> >> + #endif
> >> + #if CONF_CPUS > 50
> >> + CPU(50)
> >> + #endif
> >> + #if CONF_CPUS > 51
> >> + CPU(51)
> >> + #endif
> >> + #if CONF_CPUS > 52
> >> + CPU(52)
> >> + #endif
> >> + #if CONF_CPUS > 53
> >> + CPU(53)
> >> + #endif
> >> + #if CONF_CPUS > 54
> >> + CPU(54)
> >> + #endif
> >> + #if CONF_CPUS > 55
> >> + CPU(55)
> >> + #endif
> >> + #if CONF_CPUS > 56
> >> + CPU(56)
> >> + #endif
> >> + #if CONF_CPUS > 57
> >> + CPU(57)
> >> + #endif
> >> + #if CONF_CPUS > 58
> >> + CPU(58)
> >> + #endif
> >> + #if CONF_CPUS > 59
> >> + CPU(59)
> >> + #endif
> >> + #if CONF_CPUS > 60
> >> + CPU(60)
> >> + #endif
> >> + #if CONF_CPUS > 61
> >> + CPU(61)
> >> + #endif
> >> + #if CONF_CPUS > 62
> >> + CPU(62)
> >> + #endif
> >> + #if CONF_CPUS > 63
> >> + CPU(63)
> >> + #endif
> >> + #if CONF_CPUS > 64
> >>   #error Unsupported number of CPUs
> >>   #endif
> >>   };
> >>
> >> ```
> >>
> >> (generated with vim macros and Ctrl-a :-))
> >>
> >> I have just confirmed that this procedure works.
> >>
> >> fs_bigLITTLE.py apparently can automatically generate the DTBs without
> >> the ugly patch.
> >>
> >>
> >> On Tue, May 8, 2018 at 11:09 PM, Haiyang Han
> >> <haiyang....@eecs.northwestern.edu> wrote:
> >> > Hi all,
> >> >
> >> > I'm experiencing problems trying to boot up a 16-core ARM system. The
> >> > command line I'm using is:
> >> > /home/hhu010/tools/gem5/build/ARM/gem5.opt
> >> > /home/hhu010/tools/gem5/configs/example/fs.py
> >> >
> >> >
> --disk-image=/home/hhu010/tools/arm-gem5-rsk/fs_files/disks/aarch64-parsec-3.0-all.img
> >> > --caches --l2cache --machine-type=VExpress_GEM5_V1 -n 16
> >> >
> >> > I can boot up with 1, 2 ,4 and 8 cores but with 16 cores, the terminal
> >> > doesn't output anything.
> >> >
> >> > Does anyone have a similar problem?
> >> >
> >> > Thanks,
> >> > Haiyang
> >> >
> >> > _______________________________________________
> >> > gem5-users mailing list
> >> > gem5-users@gem5.org
> >> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> >> _______________________________________________
> >> gem5-users mailing list
> >> gem5-users@gem5.org
> >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> >
> >
> >
> > --
> > Haiyang Han, Drake
> >
> > Ph.D. of Computer Engineering
> > Northwestern University
> > Evanston, IL
> >
> > Tel: (224)714-9974
> > E-mail: haiyang....@eecs.northwestern.edu,
> haiyanghan2...@u.northwestern.edu
> >
> > _______________________________________________
> > gem5-users mailing list
> > gem5-users@gem5.org
> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users



-- 
Haiyang Han, Drake

Ph.D. of Computer Engineering
Northwestern University
Evanston, IL

Tel: (224)714-9974
E-mail: haiyang....@eecs.northwestern.edu, haiyanghan2...@u.northwestern.edu
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to