[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults |
Date: |
Fri, 15 May 2015 09:50:11 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
John Snow <address@hidden> writes:
> On 05/14/2015 10:07 AM, Michael S. Tsirkin wrote:
>> On Thu, May 14, 2015 at 02:02:04PM +0200, Markus Armbruster wrote:
>>> Correct.
>>>
>>> Here's how I think it should be done:
>>>
>>> * Create a machine option to control the FDC
>>>
>>> This is a machine-specific option. It should only exist for machine
>>> types that have an optional FDC.
>>>
>>> Default must be "on" for old machine types. Default may be "off" for
>>> new machine types.
>>>
>>> It should certainly be off for pc-q35-2.4 and newer. Real Q35 boards
>>> commonly don't have an FDC (depends on the Super I/O chip used).
>>>
>>> We may want to keep it off for pc-i440fx-2.4 and newer. I doubt
>>> there's a real i440FX without an FDC, but our virtual i440FX is quite
>>> unlike a real one in other ways already.
>>
>> I think making it off by default is a bad idea, it will break
>> command-line users.
>>
>>
>
> If we can add a flag to disable it, I still think I wouldn't mind that,
> if it could be worked out to not be hacky and gross.
>
>>> * Create the FDC only if the option is "on".
>>>
>>> * Optional: make -drive if=floppy,... auto-enable it
>>
>> Every time we do such auto hacks, we regret this later.
>> Just do what we are told, fail if=floppy if disabled.
>>
>
> I agree very much. Just because the current drive/device syntax is
> almost totally hosed doesn't mean we should put more wood on the fire.
>
>>> I wouldn't bother doing the same for -global isa-fdc.driveA=... and
>>> such.
>>>
>>> Stefano, if you're willing to tackle this, go right ahead!
>
>
> I'm definitely against a "--seriously-nothing" flag because the line for
> what is embedded or not is fuzzy. Paolo raises some good points against
> where you draw the line for what we decide to allow users to
> include/exclude that is otherwise considered part of the board.
--nodefaults must continue to disable all optional parts of the board.
What exactly is optional is for the board / machine type to define. It
can't be changed once the machine type is released.
When in doubt, make it optional. Especially when the device has
user-configurable properties, because optional devices are much nicer to
configure than onboard devices. For an onboard device, you have to mess
with -global, e.g.
-global isa-fdc.driveA=fda
Since -global applies to *all* devices of a kind, this has unwanted side
effects when you have more than one. For instance:
$ qemu-system-x86 -nodefaults -S -display none -drive if=none,id=fda
-global isa-fdc.driveA=fda -device isa-fdc,iobase=370
qemu-system-x86: -device isa-fdc,iobase=370: Warning: global
isa-fdc.driveA=fda ignored (Property 'isa-fdc.driveA' can't take value 'fda',
it's in use)
If it was optional, you'd do a perfectly regular
-device isa-fdc,id=fdc0,driveA=floppyA
which doesn't mess up any subsequent -device isa-fdc.
Since Q35 is just starting to become migratable, the time to painlessly
change its optional parts is *now*.
For i440FX, we'll have to sacrifice some to the compatibility idols.
> Still, given the hype train, if there is an API we could introduce that
> is likely not to make our code gross (or make us belly-ache about how
> dumb we were in 5 years) that disables the FDC, I don't think I would
> mind terribly. I'll leave that to minds more opinionated than mine to
> hash out, though.
>
> Maybe the best option here really is to carefully separate optional from
> non-optional components (FDC vs. Floppy Drive, Floppy Disk code) and
> just give the core FDC code a good scrubbing.
In my not particularly humble opinion, time spent on FDC code is time
stolen from more useful matters.
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, (continued)
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Paolo Bonzini, 2015/05/14
- Re: [Qemu-devel] [Xen-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Sander Eikelenboom, 2015/05/14
- Re: [Qemu-devel] [Xen-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Daniel P. Berrange, 2015/05/14
- Re: [Qemu-devel] [Xen-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Paolo Bonzini, 2015/05/14
- Re: [Qemu-devel] [Xen-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Stefano Stabellini, 2015/05/14
- Re: [Qemu-devel] [Xen-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Paolo Bonzini, 2015/05/14
- Re: [Qemu-devel] [Xen-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Stefano Stabellini, 2015/05/14
- Re: [Qemu-devel] [Xen-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Michael S. Tsirkin, 2015/05/14
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Michael S. Tsirkin, 2015/05/14
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, John Snow, 2015/05/14
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults,
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Paolo Bonzini, 2015/05/15
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Stefano Stabellini, 2015/05/15
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Kevin Wolf, 2015/05/18
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Michael S. Tsirkin, 2015/05/14
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Paolo Bonzini, 2015/05/14
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Michael S. Tsirkin, 2015/05/14
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Markus Armbruster, 2015/05/14
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Stefan Weil, 2015/05/14
- Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Michael S. Tsirkin, 2015/05/14
Re: [Qemu-devel] [PATCH] Do not emulate a floppy drive when -nodefaults, Michael S. Tsirkin, 2015/05/13