On Nov. 19, 2014, 4:39 p.m., Gabe Black wrote: > > Overall, I'd prefer this to be an internal API and have some way of > > notifying the VM through the System instead of allowing objects to poke > > around directly. See my reply in the email thread for RB #2513.
The device is asking for a specific service from a specific type of VM. Pretending an interface is generic when it really isn't is counterproductive. Not only does it not provide any additional flexibility, it obfuscates what the code is actually doing. What purpose would a device have to declare it has internal memory if it isn't so a VM can indirectly find out about it? If there isn't one, why shouldn't it make it clear what it's trying to do, instead of using a round about approach to get to the same place? If there is, what are the odds that a mechanism designed without any preconception of that use will fit well? Also, there's no generalized concept of a VM anywhere else in gem5. Making the interface generic (or generic looking) in this one particular place would be a half effort at best. When/if there's a second type of VM, then we can determine what can/should be generalized. If there's ever as second device which would use this mechanism, then we'll know what those requirements look like. If there's ever a second use case for this generic device memory abstraction, then we can know what it's requirements are. In the mean time, we'd be building fancy structures that don't serve much of a purpose, incur a non-trivial complexity/implementation cost, and would likely need to be redone in the future anyway. - Gabe ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2510/#review5489 ----------------------------------------------------------- On Nov. 18, 2014, 1:29 a.m., Gabe Black wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/2510/ > ----------------------------------------------------------- > > (Updated Nov. 18, 2014, 1:29 a.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Changeset 10546:b4c9aa186307 > --------------------------- > Let other objects set up memory like regions in a KVM VM. > > > Diffs > ----- > > src/cpu/kvm/vm.hh f66948658a36b6874e84ee5da37e70d351287cb4 > src/cpu/kvm/vm.cc f66948658a36b6874e84ee5da37e70d351287cb4 > > Diff: http://reviews.gem5.org/r/2510/diff/ > > > Testing > ------- > > > Thanks, > > Gabe Black > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
