That is my intention. I don't think it's a good idea to wait until SE and FS are completely integrated before committing any code. There are going to be a lot of changes involved, and I don't want 100 changes sitting in a queue that I have to keep up to date, forget what the patches are for, etc. My short term goal is to get one binary that can run SE or FS scripts. That will be done without just stapling the two modes together, as much as makes sense for a first pass at least. At some point I'm going to introduce another degree of freedom where you assign a workload object to a system, and that's Linux, or hello world, or a BIOS which will load things off disk, or whatever else. Then you could assign a hello world workload to a system with a set of devices attached, and you'd get what you want. There were some issues with includes that I'm hoping Nate will help me sort out, but until then I'm stuck on that front. But in any case, getting from here to there, which will not be simple by any stretch, will not come in one fell swoop. I think giant, sudden changes are bad for everybody.

As far as compiling in the code selective, I have my doubts that that's a good idea. It introduces a lot of variability as far as what environment the code gets built in, and waiting an extra 30 seconds or less for all the devices to build on a decent machine is not that big a deal. If you change something unrelated and do an incremental build, you shouldn't (note I didn't say won't) end up rebuilding any of those files anyways.

Quoting Steve Reinhardt <[email protected]>:



On 2011-09-26 13:27:15, Steve Reinhardt wrote:
> I'm hugely supportive of this direction... in fact I have my own patch I was working on to allow devices in SE mode, though it is much more limited in scope.
>
> I think we may have different goals though. Is your purpose here just to get the devices to make it through the compiler and linker without complaints, as another step toward integrating SE and FS? It doesn't look like any of these devices would actually be usable in SE mode, so I assume that's your angle.
>
> In contrast,

Oops, accidentally clicked 'publish' instead of 'edit'...

Anyway, I definitely would like to see the device infrastructure compiled in to SE mode; as I said, I've been working on this myself, and ran into the same Platform issue (though I did the brute force solution of just putting the Param.Platform in the System class inside an "if buildEnv[FULL_SYSTEM]:"). My goal is to enable building simple devices that actually get used in SE mode, which I suspect (as I mentioned) is different from yours.

However I'm not sure of the benefit of compiling in all the devices when they're not usable; it seems like that just makes the compile time unnecessarily longer. I can see the value of having this as a step toward integrating SE and FS, but I'm not in favor of committing it until it's actually useful (i.e., until integrated FS and SE actually works).

Even when we do get there, I think we should keep some conditionals in place so that people who really just want SE mode don't have to compile all the devices. I like the idea of having the ability to compile everything into a single binary (SE and FS, multiple ISAs, multiple coherence protocols, etc.) but if we do get to that point we don't want to require everyone to always compile everything, and I'd say we should start thinking now about how we're going to manage that. So my guess is we don't want to make all these objects unconditional, we just want to rework the conditions to make SE+FS possible but not mandatory.


- Steve


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/885/#review1588
-----------------------------------------------------------


On 2011-09-26 02:21:44, Gabe Black wrote:

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/885/
-----------------------------------------------------------

(Updated 2011-09-26 02:21:44)


Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan Binkert.


Summary
-------

SE/FS: Build the devices in SE mode.


Diffs
-----

  src/arch/sparc/isa_traits.hh cf26f9578cd0
  src/base/vnc/SConscript cf26f9578cd0
  src/cpu/SConscript cf26f9578cd0
  src/cpu/intr_control.cc cf26f9578cd0
  src/dev/SConscript cf26f9578cd0
  src/dev/alpha/AlphaBackdoor.py cf26f9578cd0
  src/dev/alpha/SConscript cf26f9578cd0
  src/dev/alpha/backdoor.hh cf26f9578cd0
  src/dev/alpha/backdoor.cc cf26f9578cd0
  src/dev/alpha/tsunami.cc cf26f9578cd0
  src/dev/arm/SConscript cf26f9578cd0
  src/dev/arm/gic.cc cf26f9578cd0
  src/dev/arm/realview.cc cf26f9578cd0
  src/dev/mips/SConscript cf26f9578cd0
  src/dev/mips/malta.cc cf26f9578cd0
  src/dev/mips/malta_cchip.cc cf26f9578cd0
  src/dev/mips/malta_io.cc cf26f9578cd0
  src/dev/mips/malta_pchip.cc cf26f9578cd0
  src/dev/simple_disk.cc cf26f9578cd0
  src/dev/sparc/SConscript cf26f9578cd0
  src/dev/sparc/iob.cc cf26f9578cd0
  src/dev/sparc/t1000.cc cf26f9578cd0
  src/dev/x86/SConscript cf26f9578cd0
  src/dev/x86/i82094aa.cc cf26f9578cd0
  src/dev/x86/pc.cc cf26f9578cd0

Diff: http://reviews.m5sim.org/r/885/diff


Testing
-------


Thanks,

Gabe



_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev



_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to