qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC v1 09/10] i386: split cpu.c and defer x86 models registration


From: Paolo Bonzini
Subject: Re: [RFC v1 09/10] i386: split cpu.c and defer x86 models registration
Date: Tue, 10 Nov 2020 17:05:27 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0

On 10/11/20 16:23, Eduardo Habkost wrote:
On Tue, Nov 10, 2020 at 11:41:46AM +0100, Paolo Bonzini wrote:
On 10/11/20 11:04, Daniel P. Berrangé wrote:

ie, we should have one class hierarchy for CPU model definitions, and
one class hierarchy  for accelerator CPU implementations.

So at runtime we then get two object instances - a CPU implementation
and a CPU definition. The CPU implementation object should have a
property which is a link to the desired CPU definition.

It doesn't even have to be two object instances.  The implementation can be
nothing more than a set of function pointers.

A set of function pointers is exactly what a QOM interface is.
Could the methods be provided by a TYPE_X86_ACCEL interface type,
implemented by the accel object?

I think we should not try yo implement interfaces conditionally (i.e. have TYPE_X86_ACCEL implemented only on qemu-system-{i386,x86_64} and not qemu-system-arm), even if technically the accel/ objects are per-target (specific_ss) rather than common.

Paolo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]