[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] fdc: Move floppy geometry guessing back fro
Re: [Qemu-devel] [PATCH 2/2] fdc: Move floppy geometry guessing back from block.c
Wed, 20 Jun 2012 10:21:37 +0200
Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
Blue Swirl <address@hidden> writes:
> On Tue, Jun 19, 2012 at 7:45 AM, Markus Armbruster <address@hidden> wrote:
>> Blue Swirl <address@hidden> writes:
>>> On Mon, Jun 18, 2012 at 9:10 AM, Markus Armbruster <address@hidden> wrote:
>>>> Commit 5bbdbb46 moved it to block.c because "other geometry guessing
>>>> functions already reside in block.c". Device-specific functionality
>>>> should be kept in device code, not the block layer. Move it back.
>>> As discussed earlier, this is media specific, not device specific
>>> (except FDriveType). How about media.c?
>> It's floppy-(media-)specific, isn't it?
>> We discussed separating floppy drive emulation (fdd) from floppy
>> controller emulation. Right now, they're mixed up in qdevs isa-fdc,
>> sysbus-fdc and SUNW,fdtwo. Separating fdd involves splitting up those
>> qdevs. I tried, but ran into QOM infrastructure difficulties. Since
>> that part of QOM is being improved, I decided to postpone the splitting
>> work for a bit.
>> I don't remember discussing a separation of floppy drive and floppy
>> media emulation.
> OK, maybe I mixed things up. How I see this is that a floppy drive may
> support several different media types, like 720k, 1.44M and 2.88M
> floppies, while floppy media may still be formatted differently with
> various number of sectors.
Yes, there are several types of floppy drives, each capable of dealing
with a certain set of media geometries.
> The media part is similar to CHS for hard
> disks, while the drive or type parts are not visible outside of the HD
Hard disk geometry is a property of the device, like floppy drive type,
but unlike floppy geometry.
>> Related project: moving hard disk geometry out of the block layer.
>> Can't move into a device model, because we have three of them sporting
>> geometry: IDE, SCSI and virtio disks. I guess I'll move them into a new
>> file in hw/. media.c doesn't sound right for hard disks. disk-geo.c?
>> I could move floppy geometry to the same file. But there's zero overlap
>> between hard disk and floppy disk geometry, and the only consumer of
>> floppy geometry is the floppy disk device. I don't expect that to
>> change, and that's why I'd prefer to make floppy geometry an
>> implementation detail of the floppy disk device, and hide it in fdc.c
>> now, fdd.c after the split.
>> But if you insist, I can unhide it.
> How about fd-geometry.c and hd-geometry.c? Or chs-translation.c to
> combine both, maybe also other transformations of CHS to linear offset
Since there's no overlap between hard and floppy disk geometry, I'd
rather not mix them up in the same file.
Can do fd-geometry.c. While I can't see what putting floppy geometry in
fd-geometry.c rather than next to its only user buys us (apart from
external linkage), I'll comply with your wish.
[Qemu-devel] [PATCH 1/2] fdc: Drop broken code for user-defined floppy geometry, Markus Armbruster, 2012/06/18