Thank you for this answer.

I have still difficulties to understand how the bootstrapping steps are 
simulated within M5.
I checked the system.cc of the sparc achitecture and I see it loads a reset and 
a bootloader binary in ROM.

And then I get lost between all the "startup", "wakeup" or "activate" methods 
of the cpu, system or threadcontext class.
I can't precisely find how the RESET is simulated and handled by the CPU and 
how (or where ?) it fetches the instructions placed at reset_address (which I 
believe is ROM_base in SPARC system).

Thank you again for your support




----- Original Message -----
From: "Gabe Black" <[email protected]>
To: "M5 users mailing list" <[email protected]>
Sent: Wednesday, July 21, 2010 8:18:26 PM GMT +01:00 Amsterdam / Berlin / Bern 
/ Rome / Stockholm / Vienna
Subject: Re: [m5-users] Simulating software with ARM_SE

françois-xavier morel wrote:
> Thank you for your answer.
>
> but the problem is that I can't really change of compiler.
> I am using m5sim to precisely simulate the executable obtained with this 
> compiler (arm-elf-gcc v.4.2.2). I checked and it supports the EABI.
>
> After some research I made today, I think the problem is more than the target 
> code is not meant to run on Linux but rather on bare metal.
> Does that mean I will have to deal with the Full System implementation ARM_FS 
> (which does not yet exist) ?
>   

If that's true, then yes.

> I'm still confused with the steps made by m5sim at the beginning of the 
> simulation and in particular the loading of the executable specified as 
> 'workload' of the cpu in the pyhton config file.  Is this the write way to 
> specify the software I want to run on the CPU ? Is there an hidden bootloader 
> somewhere ?  Does the SE mode boot a Linux and then launch the 'workload' as 
> a standard process ?
>   

In SE mode, the workload parameter specifies what program to load and
run on that CPU. It must be a user level program, and M5 loads it into
simulated memory itself before it starts executing it. In FS mode there
are a few different ways of starting execution. Either M5 loads the
kernel into memory itself and starts executing it, or it starts like an
actual machine would with a CPU reset and goes through all the
bootstrapping steps. SPARC_FS is the only ISA that starts all the way
from the beginning as far as I'm aware.

Gabe
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to