Gabe, I am confused -- did this get committed, or is it where it was in October? The link to the review, https://gem5-review.googlesource.com/c/public/gem5/+/22243/1 seems to say "no votes" and the head of neither master nor develop branch has the change, but after the migration to GoogleSource I no longer understand how the new system works.
On the actual subject matter: I've been thinking about something like this too. Right now SE mode is inseparable from GEM5's ELF loader, and for my use-case this is too restrictive: in my case, the address-space image is programmatically created from scratch; to achieve this, I have a "thin shell" which is an ELF image full of zeroes, then I programmatically fill it at tick 0 just before starting the simulation. This hack has served me sort of ok, but is getting progressively more annoying, so I have been thinking about a more flexible system along the lines of what you are proposing, just never having the actual time to do it. Is this topic, something that is still relevant, or did I just pull a slowpoke? Boris -----"gem5-dev" <[email protected]> wrote: ----- To: "gem5 Developer List" <[email protected]> From: "Ciro Santilli" Sent by: "gem5-dev" Date: 10/29/2019 09:39AM Subject: Re: [gem5-dev] kernel object RFC Gabe, this looks interesting. To understand better, is there a "new specific end functionality" that you are aiming to achieve, or is it just to keep existing functionality but in a saner way? Both are great of course. ________________________________ From: gem5-dev <[email protected]> on behalf of Gabe Black <[email protected]> Sent: Tuesday, October 29, 2019 2:01 AM To: gem5 Developer List <[email protected]> Subject: [gem5-dev] kernel object RFC Hi folks. I've been working towards various ways of merging FS and SE modes more completely, and one of the places the diverge today is how System objects are set up. In FS mode, the System object is responsible for loading the kernel, firmware blobs, etc., and is specialized for that for each ISA. It also has all the parameters related to the kernel (object file location, various addresses, etc.) directly. I recently put together a little exploratory change over here: https://urldefense.proofpoint.com/v2/url?u=https-3A__gem5-2Dreview.googlesource.com_c_public_gem5_-2B_22243_1&d=DwIGaQ&c=sPZ6DeHLiehUHQWKIrsNwWp3t7snrE-az24ztT0w7Jc&r=ecC5uu6ubGhPt6qQ8xWcSQh1QUJ8B1-CG4B9kRM0nd4&m=rS7AybN8eMboGsiQeXQMJB0T-v86F0SgE6fLgYc5E3U&s=KWFSaVlL2-W3yvAzYLCvP0Na-L26IlzpSy6XUBK73m8&e= Which attempts to start pulling the kernel out of the System object to make it its own replaceable, overridable entity. I don't even know if the code in that CL will compile, but before sinking a lot of time into it I thought it would be a good idea to see what people thought. To develop it further, I want to make the OpSysKernel SimObject I've created inherit from a more generic Workload object which can include an OpSysKernel, but can also include firmware bits, etc. The System would then have a single, opaque Workload, and that could be an Alpha Tru64 kernel, an ARM bare metal program, a fake Linux which loads a SPARC binary in SE mode, etc. The System object would then become a much more generic container for truly system level things like holding memory, collecting relating SimObjects, etc. Gabe _______________________________________________ gem5-dev mailing list [email protected] https://urldefense.proofpoint.com/v2/url?u=http-3A__m5sim.org_mailman_listinfo_gem5-2Ddev&d=DwIGaQ&c=sPZ6DeHLiehUHQWKIrsNwWp3t7snrE-az24ztT0w7Jc&r=ecC5uu6ubGhPt6qQ8xWcSQh1QUJ8B1-CG4B9kRM0nd4&m=rS7AybN8eMboGsiQeXQMJB0T-v86F0SgE6fLgYc5E3U&s=mWC6o45ZN3c79x3c5sHssQ-lbZxERq8aZLs0oSanAao&e= _______________________________________________ gem5-dev mailing list [email protected] https://urldefense.proofpoint.com/v2/url?u=http-3A__m5sim.org_mailman_listinfo_gem5-2Ddev&d=DwIGaQ&c=sPZ6DeHLiehUHQWKIrsNwWp3t7snrE-az24ztT0w7Jc&r=ecC5uu6ubGhPt6qQ8xWcSQh1QUJ8B1-CG4B9kRM0nd4&m=rS7AybN8eMboGsiQeXQMJB0T-v86F0SgE6fLgYc5E3U&s=mWC6o45ZN3c79x3c5sHssQ-lbZxERq8aZLs0oSanAao&e= _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
