qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: [PATCH 0/22] Refactor machine support


From: Anthony Liguori
Subject: Re: [Qemu-devel] Re: [PATCH 0/22] Refactor machine support
Date: Wed, 09 Jun 2010 08:55:14 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100423 Lightning/1.0b1 Thunderbird/3.0.4

On 06/08/2010 09:11 PM, Paul Brook wrote:

Because at some point the base tree will have to be written in C.
No. You can start with a completely empty machine.
We don't/shouldn't need any machine specific C code.

I think you're missing the argument. I should be possible to create a machine entirely from a FDT or via -device options.

However, to continue to support the interfaces that we support today, it will be necessary to have C code that manipulates a base device tree.

When a user specifies '-M pc -hda foo.img' verses '-M versatilepb -hda foo.img', the equivalent are two very different operations on a device tree. The former adds an ide disk to the default controller and the later potentially creates a new scsi bus and then adds a disk to a specific bus.

We could force users to these explicit operations instead of the generic options we provide today but we would certain end up having our users hate us as a result.

When I submitted the original qdev code I also posted a proof-of-concept patch
that built the whole machine based on a config file with no hardcoded
knowledge of the machine structure.

And in your proof-of-concept patches, you couldn't use -hda or any of the other command line options that are currently used. To support those things, something would have to understand the device tree well enough to know what -hda is supposed to mean. That's the point of MachineCore.

Of course you have to decide where to stop allowing customization, but
anyway it will be significantly more complex than a QemuOpts config
file.  QemuOpts obviously doesn't have the flexibility to create an
entire device tree.
Why not?
The current -device option already provides the majority of the functionality
required.  Most of the missing bits are incomplete qdev conversion.
I'm not saying that creating a whole machine via -device options is an elegant
solution (hence the interest in things like FDT) but in I see no reason why it
shouldn't work.

IMO all uses of the no_user flag are bugs resulting from incomplete/incorrect
qdev conversions.

I don't disagree.

Regards,

Anthony Liguori



reply via email to

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