On Wed, Sep 28, 2011 at 3:02 AM, Gabe Black <[email protected]> wrote:
> Changing the scripts may or may not be a big deal. Our scripts are not > very modular or flexible, so it's hard to say. > Yes, our scripts are definitely nowhere near as modular as they should be, which indicates that changing them is likely to be a big deal. This is also the interface that most users deal with (i.e., I'm guessing that almost everyone who's not using the code out of the box has hacked on the simulation scripts), so changing things here is likely to have a very large and potentially disruptive impact. I know Brad has already mentioned he's worried about this, since we have a lot of custom simulation scripts. On Wed, Sep 28, 2011 at 3:09 AM, Gabe Black <[email protected]> wrote: > A PageTable object is an example of an address space. A guest > page table in memory is an address space. Because we have two, > incompatible abstractions for essentially the same thing, that isn't > justification for not having one abstraction to represent both. A > Workload is an abstraction. I should have to care that when I access > address 0xffff0000 that it's looked up in a fake PageTable hash map, or > if it's looked up in some guest memory on some NUMA node somewhere. I > just want to know what's on the stack. I'm still confused... yes, they're both address spaces, but that doesn't mean we need a common abstraction if we don't do the same thing with them. The Process object in SE mode represents the same thing as a process inside the Linux kernel in FS mode, but the simulator doesn't interact with them in the same way, so we don't need a common base class. In fact, as you're pointing out, the Process in SE mode has more in common with the Kernel object in FS mode with respect to what the simulator uses it for. Steve _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
