-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/3377/#review8088
-----------------------------------------------------------


I think this is a good idea, but...

The main reason we haven't enabled this by default is because of the way it 
interacts with interrupts. Due to the the fact that the PMU has interrupts, we 
should ideally add it via the platform since that's were the interrupt map is 
defined.

To make matters even more compicated, the current implementation, like many 
real implementations, uses SPIs. This works fine in single-core configurations 
(or configurations with a handfull of cores), but isn't very flexible since 
each core needs its own interrupt. At least Linux supports PMUs with PPIs, so 
I'm tempted to say that a PPI would make most sense since that'd allow us to 
define a single interrupt and forget about it.

I won't have time to add PPI support myself anytime soon, but I'm happy to give 
you a hand if you want to give it a stab. You know where to find me. :)


configs/common/Options.py (lines 336 - 338)
<http://reviews.gem5.org/r/3377/#comment6977>

    Add this together with the other ARM-specific options instead. See for 
example --machine-type above.



src/arch/arm/ArmISA.py (line 55)
<http://reviews.gem5.org/r/3377/#comment6978>

    This is a bit scary since the PMU is needs to know which interrupt to use 
and that's generally defined by the platform code (see src/dev/arm/ReaView.py). 
Ideally, this device should live with the other platform devices, but I'm not 
sure how we would wire it to the ISA in that case.


- Andreas Sandberg


On March 15, 2016, 5 p.m., Bjoern A. Zeeb wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/3377/
> -----------------------------------------------------------
> 
> (Updated March 15, 2016, 5 p.m.)
> 
> 
> Review request for Default and Andreas Sandberg.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> arm,dev,config: always preent the PMU but add option to enable
> 
> Always attach the PMU to an ARM core but do not enable the
> relevant instructions/events unless asked for by setting the
> new command line option --pmu.
> 
> Note: this should work fine for 1 core systems, for multi-core
> there might be an interrupt delivery issue still (SPI vs. PPI).
> Consider this as an example for people who want to work on it
> as the question has previously come up on the mailing lists on
> how to hook this up.
> 
> 
> Diffs
> -----
> 
>   configs/common/Options.py 2fd64ea0a7cb 
>   configs/example/fs.py 2fd64ea0a7cb 
>   src/arch/arm/ArmISA.py 2fd64ea0a7cb 
> 
> Diff: http://reviews.gem5.org/r/3377/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bjoern A. Zeeb
> 
>

_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to