Most of that stuff is for FS mode. If you're interested in SE mode look at the LiveProcess classes in the arch directory and the loader code in base/loader/. The loader code gets the image of the program into memory, and the LiveProcess object (or really a subclass of it) sets up runtime structures like the initial stack.
Gabe françois-xavier morel wrote: > 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 _______________________________________________ m5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
