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

Reply via email to