On 24.05.2012 13:21, D K wrote: 

> Hello,
> we are doing a project
on real-time scheduling on multi-core systems.
> Right now I am looking
for the possibility of using Gem5 as a simulation environment for
testing different scheduling policies for multi-core systems.
> 
> For
the simulation we need a minimum 4 arm cores. each running a minimum
software with a main while(1) loop and an timer interrupt handler.

You
should be able to create some bare metal code that you run that would do
this for you. You can read the CPU id out of the MPIDR register and
create a little bit of stub code that maps the interrupt vector to your
ISR and progams up one of the timers to interrupt the CPUs. 

> Inside
the timer ISR, I call the schedule function which updates the next ready
task to be executed according to some policy. 
> Inside the main
loop,some dummy task will be executed.
> 
> 1.I have got the simulation
run the Linux kernel but I prefer to make a standalone scheduler with
some dummy tasks to keep the system simple.Is there an example which
illustrates such a minimum system?

You could probably start with the
bootloader code in boot/arm/. Assuming you fence off some areas for a
stack for each code you should be able to run C code without too much
effort. 

2

> ockquote> 
> remote gdb support will work just the same
with and without the kernel.
order-left:#1010ff 2px solid;
margin-left:5px; width:100%"> 

3.Is it possible to select the
arbitration policy of bus.
for example to select TDMA or Round-robin and
specify the parameters eg. time quanta for TDMA ?does Gem5 models AMBA
bus ? 

> us to enforce whatever policy you wanted. 
> 
> 4.How do I
program the timer such that it send timer interrupt to all cores. How is
the mapping of timer ISR handled? Is there a documentation which
exp
/div> 
Depending on which timer you would like to use (SP804 or CPU
local timer), they are documented on arm's website infocenter.arm.com.
You'll need to configure the GIC to either broadcast the interrupt to
all cores, or configure each interrupt to only interrupt 
Thanks, 
Ali


Thanks in advance.. 
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to