Steve Reinhardt wrote: > On Wed, Jun 23, 2010 at 10:48 PM, Gabe Black <gbl...@eecs.umich.edu> wrote: > >> The entire SimObject startup process has always been a little mysterious >> to me as far as what all the steps are and what they're for, and it >> sounds like it's getting more complicated. For those of us that don't >> already know how that works, is there a wiki page describing it and/or >> can you summarize? >> > > Was the summary I put at the top of my initial message inadequate? I > can certainly put that on the wiki... that's a good idea. > > Steve > _______________________________________________ > m5-dev mailing list > m5-dev@m5sim.org > http://m5sim.org/mailman/listinfo/m5-dev >
Yes (although that information is still helpful), because it doesn't mention what each step is actually for. What code goes in init vs. startup, what conditions/guarantees are there after each step? Also, it sounds like those functions can be called in other sequences, like for instance calling simulate more than once. Is that true? I think part of the brokenness of at least the X86System object is that I don't fully understand how this model is supposed to operate, and as you've pointed out there are apparently places where it doesn't fit together quite like it should. One other thing we might want to visit is the initialization stuff for processes. In general it's working just fine, but even after all the time I've spent working on it I couldn't explain off the top of my head what functions call what other functions or override other functions and why, how it all fits together, what goes where, what's part of the SimObject stuff and what's just for processes, etc.. There's probably a good reason for it to be architected like it is, but it feels like it's a little more convoluted than absolutely necessary. Part of that is likely my and others' fault for following the pattern of existing code and turning it into a pseudo standard, but I can't easily tell the difference right now. Gabe _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev