Hollis Blanchard wrote:
> On Thu, 2007-10-18 at 16:04 -0500, Anthony Liguori wrote:
>
>> Hollis Blanchard wrote:
>>
>>> What is the problem with
>>> embedding an architecture-specific sub-structure, i.e.
>>> struct kvm_vcpu {
>>> ...
>>> struct arch_kvm_vcpu arch_vcpu;
>>> };
>>>
>>>
>> I think you want the opposite direction of nesting.
>>
> ...
>
>> We should move to:
>>
>> struct kvm_vcpu {
>> /* stuff common to x86/ppc/ia64 */
>> };
>>
>> struct vcpu_x86 {
>> struct kvm_vcpu vcpu;
>> /* stuff common to vt/svm */
>> }
>>
>> struct vcpu_svm {
>> struct vcpu_x86 vcpu;
>> /* svm specific stuff */
>> };
>>
>
> Why?
>
It provides better encapsulation. If you have a kvm_vcpu, unless you do
container_of(), you can't access the arch_vcpu. It helps make sure that
architecture common code remains common.
It also leaves open the possibility of supporting multiple architectures
at the same time. I don't know why you would want to do that :-)
Regards,
Anthony Liguori
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel